(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "SoftSide Magazine Issue 27 (Kidnapped)"


TWO DOLLARS 
AND FIFTY CENTS 



Your BASIC Software Magazine • VOLUME III • NUMBER THREE • DECEMBER 1980 



-:Ti.: 



^^h-'HK:! ,J^ 



Arr^nimaled 
CHRISTMAS CAR 

SPACE DODGE 

APPLE BASEBALL 

SPEEDELLO 

WORD PROBLEMS 

THE DATA BASE.'^♦ 
In Search Of < 



^ 



^:5 



'•■r-^^ 



-»-■--» ---,--'-■■ 



EB»; 



■m 



.■^^ 






1' '^.^.;:- 



, er-\:^. 



ri.** Y 



KIDNAPPED|: 

Can you Escape??^ 



**. >7* 



■>-"^-. 



'•>^. 






•«r: 



:f^. 



Unlock the hidden power 
of your computer for fast and 
easy programming! Use ROM 
routines in your BASIC 
and Assembly Language 
Drograms! All you need to 
<now is in... 



ALL 

ONLY 

$19.95 

plus $1 Shipping 




^^^^^Q. 



VISA 



ORDER TOLL-FREE 

(In NH call 673-5144) 

1-800-258-1790 

The SaHwi^te Exchange 



INCLUDES: 

SUPERMAP 

From Fuller Software ($18.95) 

TRS-80 

DISASSEMBLED 

HANDBOOK 

by Robert Richardson ($10.00) 

HEX MEM 

by John Phillipp 
Monitor written in BASIC 

Z-80 
DISASSEMBLER 

by George Blank 



A SoftSide Publication 



Guide to Level II BASIC 
and DOS Source Code 

Description of the contents of the Level II BASIC ROM by 
memory locations, by function, and in lesson format. Includes 
several BASIC and Assembly Language programs in listing 
format to examine and use ROM routines. 



o 



> I,. 



TSE began in the basement of our publisher's home. In those days we did everything ' 
from reviewing submissions, writing documentation, and duplicating cassettes, to licking 
envelopes. There was correspondence with the authors, telephoning, equipment problems, 
authors' contract negotiations and more and more envelopes which needed stamps. 

TSE explored the 'software' territory in those 'frontier days' carefully . . . scouting out 
only the very best, leaving the weaker pieces by the roadside. The number of submissions 
was increasing, and we had all that we could do to provide proper service for our 
customers. We decided then and there that we would publish only 'the' very finest 
software available and commit ourselves to a policy of 'selectivity' and strong customer service. 

Well, it worked .... Since those days in the basement we have grown from a Mom and 
Pop operation with a dozen software titles to a company with 40 employees and over 500 
titles. TSE distributes software for over 50 different vendors. We considered ourselves 
'pioneers,' and as such we learned many things about our business and about our 
customers. We've made mistakes . . . who hasn't, however, the two most important factors 
in our success have been a keen eye towards selecting good software and a commitment 
towards strong customer support. 

We think that you will profit from TSE's experiences and come to find a consistency in 
product selection and a mandate to continued customer service in the months and years ahead. 

William F. Gollan 
Marketing 






:jiis>-- 



The Software Exchange 

b Scxith Sin i ■/, Box (yH, Miiiord. Nl / m.', «) i -67 i- ) W 



•■'-fc*,,*:^- 



■J ,T-'V,.V 



SoftSide DECEMBER, 1980 



TRS-80 DISK 

AND OTHER MYSTERIES 



Feeling Diskusted 
with your System? 




You say you worked 35 hours on a Cadets in Space program only to see it 
vanish as your disk turned and turned? And the program you use for the 
household budget suggests that Junior's allowance be raised to $25,000 a 
week? Does your Electric Pencil seem to have a broken point? 

Don't panic. Don't despair. Heave a sigh, perhaps, and maybe even shed a 
tear. It'll clear your eyes out and prepare you for the solution to your woes: 
TRS-80 Disk and Other Mysteries, by Harvard C. Pennington. Your troubles 
will soon come to an end. 

Pennington tells you most of what you need to know about TRS-80 disk 
drives; how disks are organized, how space is allocated, how files are located 
on disks, and the tools that one 
may use to look at disk files and 
directories. The book both provides 
a general understanding of how 
disk systems operate, and 
discusses and explains how to fix 
disk problems such as lost files. 
Electric Pencil bugs and other 
seemingly impossible tangles. 

On top of that, Pennington's 
drawings and his language are 
engaging and quite amusing. If you 
can beat knowledge and fun in one 
package, then seek elsewhere. If 
not, then TRS-80 Disk and Other 
Mysteries might be for you. 

$22.95 plus $1.00 shipping 



\ 



So»**** 



6 SOUTH ST., 

MILFORD, NH 03055 

TO ORDER TOLL FREE 

1-800-258-1790 

(In NH call 673-5144) 




SoftSide DECEMBER, 1980 




TABLE OF CONTENTS 

SOFTSIDE* VOLUME THREE* NUMBER THREE* DECEMBER, 1980 

ARTICLES 

23 SAY 'YOHO' 

For adventurers All. . .Scott Adams 

28 WHAT TO DO WHILE THE PROGRAM LOADS 

Make the most of those free moments All. . .Sherry Taylor 

30 SOFTSIDE'S DEVELOPING DATA BASE, PART 4 

Search routines All. . .Mark Pelczarski, Rich Bouchard, Phillip Case 

95 REVIEWS 

A look at Olympic Decathlon & Galaxy Invasion S-80. . .Dave Albert, Glen Ohlund 

PROGRAMS 

34 CONNECT-A-DOT 

The game we all played as kids Apple. . .Duane Barts 

38 WORD PROBLEMS 

The thing I hated most in school S-80. . .Denslo Hamlin 

43 MISSILE EVASION 

Here's the S-80 version of HEAD ON S-80. . .Thomas Harleman 

48 CHRISTMAS CARD 

With sound! Apple. . .Fred Pence 

52 KIDNAPPED 

Can you believe nine adventures? S-80, . . .Peter Kirsch 

65 BASEBALL 

Will you win in the last of the ninth? Apple. . .Dave Bohlke, Steve MacLeay 

70 SPACE DODGE 

Can you cross the mine field? S-80, Atari. . .Mike McKenna, Rich Bouchard 

80 STATES & CAPITALS 

Do you know your country? Atari. . .David Bohlke 

88 SPEEDELLO 

A new twist for Othello freaks Atari. . .David Bohlke 

HEAVY STUFF 

57 WHOA! 

Slow down those listings S-80. . .Shane Causer 

59 SQUISH-3 

Add 2K to your programs? S-80. . .Dave Archibald 

61 COMMAND 

Boot your disk any way you want S-80. . .Denslo Hamlin 

DEPARTMENTS 

4 EDITORIAL Mark Pelczarski 

6 INPUT From our readers 

51 CROSSWORD SOLUTION James Garon 

94 BUGS, WORMS, AND OTHER UNDESIRABLES Kay Pasa 

\3%c\Y\e foUowing symbols as a guide when reading our ads. They indicate the computer(s) for which 
the product was designed, f V lli^j» III -W^ i 

^|trs-80 «^ apple ^I^atari 7ff(PET 

•TRS-80, Apple, ind AUui «re regiilered tridenuu-ks of Tandy Corporation, Apple Computer Company, and Warner Communications, respectively. 

SoftSide DECEMBER, 1980 



3 



® STAFF 

PUBLISHER: 
Roger Robitaille Sr. 

EDITORIAL DEPARTMENT 

Scott Adams 
Dave Albert 
George Blank 
Rich Bouchard 
Phil Case 
Sandy Dean 
James Garon 
Lance Micklus 
Mark Ohlund 
Kay Pasa 
Mark Pelc^arski 
Richard Taylor 
Joan Truckenbrod 

PRODUCTION DEPARTMENT 
Donna Bennett 
Elaine Cheever 
Lauri Miller 
Jenny Riel 
Anne Vadeboncoeur 

STAFF 
Lester Anderson 
Ruth Anderson 
Brian Bcrkebile 

Diana Bishop. Subscriptions 

Su/anne Breton 
Nancy Chase 
Brenda Cookinham 
Donna Cookinham 
Jeffrey Carroll 
Pam Demmons 

Mary Edwards, Snlmarc Inlormalinn 

Linda Fedas 

Karen Fissette 

Mary George 

William F. Gollan, Advonisinp 

Mylene Grigas 

Donna Jean 

Janice Johnson 

Steve Justus 

Betle Keenan, Customer Service 

Bea Kimball, shipping 
Dave Lowey 
Steve MacLeay 
Kathy Maloof 
Thomas Marshall 
Donna McMahon 
Dick Melhorn 
Doris Miller 
Glen Ohlund 

Mary Reed, IX-iilcrs Orders 

Carol Roane 

David Robitaille 

Elizabeth Robitaille, Administrator 

Cindy Schalk 

Paul Rousseau 

Alan Thulander 

Jack Torres, Hardware Inlormation 

Joanne Tracy 
Barbara Warman 
Anmar Williams 
Ed Umlor 
Gary Young 

SoflSide is published each month by SoftSide 
PubUcations, 6 South Street, Milford, New Hampshire 
03055. Telephone 603-673-5144. Controlled circulation 
postage paid, Milford, New Hampshire 03055 and 
additional entries. ISSN: 0274-8630. Application to mail at 
controlled circulation postage rates is pending at Concord. 
NH 03301. Subscription rates: USA $24.00 per year. USA 
Firs I Class, APO, FPO, Canada, Mexico, Overseas surface 
mail -$32,00 per year. Overseas air may $48.00 per year. 
All remittance must be in U.S. funds. Mail subscription 
inquiries to SoftSide Publications, P.O. Box 68, Milford, 
New Hampshire, 03055. Entire contents copyright 1980 
SoftSide Publications. All rights reserved. 

POSTMASTER: 

,Send address changes to: 

SoftSide Publications 

6 South Street 

Milford, New Hampshire 03055 



4 



EDITORIAL 




by Mark Pelczarski 

As promised, I've been at some 
of the recent computer shows. In 
ways, they haven't changed much. 
The big attraction now, instead of 
all the flashy, noisy games (which 
are commonplace now, I suppose), 
are radio controlled robots. The 
one that looked Uke an R2-D2 in a 
giant Coke can began to get a little 
old after a while. You can only 
take the "Have a Coke and a Smile" 
song so many times in a four-day 
weekend. Still, the four or five 
robots I saw were quite popular 
with the munchkin crowd and 
withTV and newspaper crews 
assigned the wonderful job of 
finding something interesting to 
photograph at yet another 
convention. The robots also 
provided amusement for the 
exihibitors, by trying to pick up 
local lovelies. One in particular 
would sneak up behind policemen, 
shout "stick 'em up", flash its 
lights, and zip off. This robot, of 
course, was knee-high and not 
immediately visible. 

As I mentioned in a previous 
column, the last computer show 
I'd been to before this fall was 
about three years ago. There 
wasn't anything startlingly new at 
the recent ones. Yes, there are 
always new systems for better 
prices — that's the way this whole 
industry will be for a while to 
come — but there weren't any 
really new concepts, as seemed the 
norm a few years ago. It seems 
that the current efforts are in 
building better and cheaper 
mousetraps (sorry. Lance). There 
even seems to be fewer specialized 
peripherals. As an example, a few 
years ago there were several 
companies featuring speech 
recognition and synthesis units. At 
the recent shows I saw none. Not 
enough sales, I suppose. There's 
no lack of competition in the 
printer market. 

What I found the most 
interesting in the shows this fall as 
compared to a few years ago was 
the degree to which computers 
have become real consumer 
products. Three years ago the 
whole marketplace was strictly 
hobbyist. After the Apple, 

SoftSide DECEMBER, 1980 



TRS-8O; and PET came out— the 
first ready-to-run systems in a 
package — the hobbyist market 
grew considerably, but there also 
came an awareness in business that 
small computers were viable tools. 
That market's been growing by 
leaps and bounds in the past 
couple years, and it's not slowing 
down at all. Recently, however, 
the predictions of there being an 
actual "home market" seem to be 
coming true. A lot of people see to 
be interested in buying home 
computers based on an idea that 
they must be useful, and if not, at 
least they look like fun, and 
there's probably something there 
to be learned. In fact the 
educational potential seems like 
one of the greatest hopes of those 
buying for the home. Overall, it 
looks Uke Atari's gamble of there 
really being a home market will 
come true. I hope kids don't forget 
about reading or about the great 
outdoors (with the possible 
exception of outdoor Gary, 
Indiana). 

Time to come down off the 
soapbox and put in a sad note. 
James Garon has left the great 
Northern wilderness of New 
Hampshire to return to that 
endless suburb in Southern 
California, just in time to miss a 
real winter. He's taken a 
programming job with a company 
specializing in microcomputer 
software, and he'll still be writing 
occasionally for magazines; so 
don't fret, you'll probably be 
seeing some of "Garon's Goodies" 
around here and there. Both James 
and his wife Catherine are originally 
from sunny Southern Cal, land of 
constant weather, so they probably 
won't miss the blizzards too much. 
We wish them the best of luck. 

By the way, the White Sox 
pictures that appeared in October 
were provided courtesy of Chuck 
Shriver, Bill Veeck, and the White 
Sox organization. I've taken a lot 
of abuse for using those pictures 
with an article entitled "World 
Series", but I've got to get my 
kicks somehow. It was a long 
summer, with only the Red Sox on 
TV out here. I was so desperate I 
would have even watched the Cubs. 



® 




NEWDOS/80 



Brand new from Apparat, their most powerful DOS ever. EVERYTHING in NEWDOS and 
NEWDOS+ and more: Variable length records (up to 4095 bytes), mix or match your disk drives: 35, 
40 and 77 track drives can be used in any combination — even with 8 inch drives, new security 
boot-up sequence makes it impossible for the unauthorized to BREAK or LIST. "DOS READY" and 
"READY" need never appear, enhanced RENUMBER allows relocation of subroutines, powerful 
program CHAINing, option to PRINT on display and printer simultaneously, execute DOS commands 
— from DOS — without disturbing your resident BASIC program. Put the "DOS of the Eighties" to 
work for you. On disk, with all documentation. $149.95 



NEWDOS 



NEWDOS corrects over 70 errors and omissions in TRSDOS 2.1 and disk BASIC, yet they are 
completely compatible! Programs SAVEd under either system need no modification to work with 
the other. Like going from Level I to Level II: more power, convenience and speed. Use all DOS 
commands (DIR, FREE, RENAME, COPY etc.) from BASIC, AUTO LOAD and RUN a BASIC 
program from power-up, produce variable and constant cross reference tables, OPEN "E" to add to 
the end of a sequential file, send whatever is on the screen to your printer, even in DOS (great for 
DIR), renumber BASIC programs, and more . . . Fully documented; available on disk for only $49.95 



NEWDOS PLUS 



ALL of the above PLUS: Editor/Assembler for disk, Z-80 Disassembler, LMOFFSET to relocate 
and save SYSTEM tapes to disk. Level I BASIC language with disk I/O, DIRCHECK to check and 
LIST disk directory, SUPERZAP-display/print/modify any location in RAM or on disk (worth the 
price of the entire package when you resurrect that accidentally KILLed file!). NEWDOS+ on disk 
with documentation, just $99.95 



TheSoftw&are Exchange 

6 South St., Milford, NH 03056 

ORDER TOLL-FREE: (In NH call 673-5144) 

1-800-258-1790 




SoftSide DECEMBER, 1980 



INPUT 




Dear Mark, 

Your Caribbean cruising sailing 
simulation was neat, but I have the 
feeling you aren't a sailor. It took 
me a while to figure out why I had 
so much trouble moving the boats. 
You made the wind directions 
effects 180 degrees out. If a wind 
is said to be at 45 degrees this 
means that the simulation wind dir 
of 45 has the effect on the 
sailboats of coming in from 225 
degrees and going away at 45. This 
fix works for me. 

CWD = corrected wind speed 
ADD: 

95 CWD = W) + 180 

9Q IF CM) > 360 THEN CHD = CHD - 

360 
155 CWD = WD + 180 
158 F CM) > 360 THEN CM) = CWD - 

360 

In lines 100 and 160 change WD to 
CWD. 

One last thing: Have you ever been 
banging away at your keyboard 
only to discover that you had your 
fingers off by one key! I put a 
spot of Elmer's glue on top of my 
F and J keys. Anytime I begin to 
type I can feel the knob made by 
the glue under both forefingers. 

Sincerely, 

Dick Gaines 

Lakeland, Florida 

Oops. You're right, I'm not the 
sailor. I guess I have to blame my 
cohort and technical adviser, Jim 
Klink. I probably gave him one 
PBR too many during our 
planning and testing evenings. 
Maybe that's why he takes all 
summer on his sailing excursions. 
Of course, I missed the error too; 
so I'm not totally innocent. 
Thanks for the correction. 

MP 

Dear SoftSide, 

I really enjoy soaring in the 
"Sailplane Derby" simulation but 
at times found myself wanting to 
look at the map before the hour 
was up. The following lines allow 
the map to be displayed by 
pressing the"M" key during the 
control phase of the simulation. 
6 



Add:- 

2057 IF A$="M"THEN06=1 
2145 IF 06=1 T1£N GOSUe2390 

Change 2390 to read 

2390 E!=i:hi=o;q6=o 

I would also like to say how 
great I think your magazine is. I 
have never been disappointed with 
an issue; each month you provide 
us, the TRS-80 users, with high 
quality programs and insights into 
programming techniques. My 
major problem is that I type so 
slowly that by the time I finish one 
magazine a new one arrives and I 
don't have time to do my own 
programming. Ah! such is Hfe, but 
one day I'll get published in your 
magazine, you'll see. 

Your faithful reader , 

Andrew M. Dixon 

Dear Mark, 

I received a copy of September, 
1980 SoftSide plus your recent 
note. The quality of your 
publication has improved a great 
deal recently. I was very proud to 
have contributed 'The Stereo 
Generator' article in your 
publication. Also thank you for 
the plug for Dandelion Micro 
Products. I will recommend your 
publication to everyone I know. 

After proofreading the article, I 
noticed a few maccuracies which 
are listed below: 

1 . The article on page 1 8 
should state that the 
program will run on Apple 
II or Apple II Plus (except 
revision zero boards). 
Actually the program will 
run on any revision one 
board with 16K, (Integer 
Basic users would load 
Applesoft cassette first, 
etc.). To my knowledge, 
the program won't work 
on any Apple II with a 
zero board (whether he 
used Applesoft or not). 

2. On page 19, first column, 
about middle of page '(I 
and H2)' should be '(HI 
and H2)'. This probably 
won't affect the program. 

SoftSide DECEMBER. 1980 



3. On page 74 locations 353 
to 35F are out of context. 
Again, this wouldn't alter 
the program. 

I hope everything else is all right. 

Sincerely yours, 

James D. Dwyer 
Mt. Vernon, IL 

Dear Mark, 

I am writing to you mainly 
about the July issue of SoftSide : 
Apple Edition. 

I really enjoyed the issue. The 
occasional cartoons and the 
detailed explanations within the 
programs (as in Pork Barrel) 
enhance the programs. 

Unfortunately since July, I have 
not really had access to an Apple 
II, so I haven't been able to run 
the programs. But I can read 
through SoftSide over and over 
again and enjoy it more each time! 

I have not been able to use an 
Apple II because I'm a student at 
Marysville High School in 
CaHfornia. Marysville is now 
"famous" because of an article in 
Apple Education News (May issue). 
I'll be a sophomore next school 
year, but I am very advanced in 
BASIC, and I'm on the threshold 
of assembly language. I've already 
submitted a program for SoftSide, 
but during the time it was 
evaluated, a similar program 
("Router") appeared in SoftSide. 

I have seen the program. 
Catalog II. I haven't entered it into 
the Apple yet, but I would like to 
make a suggestion. That is, change 
line 250 from: 

250 C=l: FOR 1 = 4115 to 
(PEEK. ... To: 

250 C=l FOR 1 = 4153 to 
(PEEK. . . . 



This would seem to eliminate the 
program itself from the menu (if it 
is used to INIT a disk, being the 
first program) since the change 
would make the program ignore 
the first program on the disk. 



I am working on a game using 
ROM the robot, and a program 
using more of Apple's HI-RES 
colors, which I will send when I 
am finished and have them in 
working order. 

I hope that you enjoy this letter. 
You may print my comments and 
suggestions in SoftSide if they seem 
appropriate. Keep up the good 
work. 

Sincerely, 

Daniel Wood 
Oregon House, CA 

Dear SoftSide, 

In response to "Software 
Pirate": If you bought a computer 
to write your own programs, how 
come you're busy copying and not 
writing? Afraid somebody will 
copy it? 

Sincerely, 

Ken Layton 

Olympia, Wash. 

P.S. I Hke the new SoftSide size 
and format. 

Dear SoftSide , 

On the Master's Golf Program: 
We like it a lot, but found a few 
changes to be most helpful. 

The first thing was, of course, 
Atari's color changes, most buggy 
during a game. We inserted POKE 
77,0 at line 400 right before the 
POKE 752,1. This set the register 
back to zero without disturbing the 
game. 

Next was something much more 
frustrating. Several times we found 
our game being cancelled by an 
error 3 at line 596. (The value of B 
was a minus and Atari could not 
plot the minus number) we 
corrected this problem by: 596 
color 2: If B<1 then B = 2. Add 
line 597 Plot B,G(B12)-1. 

Also if your readers are like us, 
they will want to play the game 
again without having to run the 
program and re-entering their 
names. Simply remove the: END 
at line 470, add hne 471 IF NL = 9 
AND STRIG(O) =0 THEN 200, 
and add line 472 IF HL = 9 THEN 
GOTO 471. Doing this if you want 
to play a different game with 
different people, you will have to 
use Break or System Reset but if 
not, all you'll have to do is fire 
and you'll have a new game with 
\he same people. 

E. M. Bigham 
Van Wert, Ohio 



PRESS DOWN 



© 



PRESSURE RING 



FLOPPY SAVER RING f-^^_JJ^ 



CENTERING TOOL 




REMOVE BACKING PAPER 
AND PLACE RING — 
ADHESIVE SIDE DOWN 



I FLOPPY DISC 



TFTStar Corporation 



^®pm 



Ol/C 




FLOPPY SAVER PREVENTS: 

Computer drive's clamping hub from tearing 
disk's center hole. 

Coating removal, scuffing and dimpling when 
the disk hits the rotating spindle. 

Data loss caused by improper rotation of a 
floppy disk. 

Any damage to Floppy Disk's center hole. 

FLOPPY SAVER KIT consists of: 

Plastic centering tool and pressure ring. 
25 7-mil mylar rings with paper protected 
adhesive backing. 



EASILY installed on disks in seconds. Only one side 
needs the ring. 



for 5 1/4" diskettes •Complete Kit $14.95 • Refill $7.95 



TheSoHware Exchange 

TO ORDER: CALL TOLL FREE 



1-800-258-1790 

(In NH call 673-5144) 



SoftSide DECEMBER. 1980 




MEW 

Air 



o 
o 



S9 


M^t 



L^-l Hayden Book Company. Inc 



The SaHw^ate Exchange 

6 South Stnx^t , Milford, NH 03055 603 -673-5144 

TOLL FREE 1-800-258-1790 (ipnh can 673-5144) 




Are you a serious student of blackjack? If you are, Hayden 
has just published a program and booklet package for you. It's 
Blackjack Master, a simulator-tutor game for your S-80. The 
purpose of the package is to make you a winner. Monte Carlo 
may never be the same. 

S-80 Level II, 16K Cassette $19.95 

Disk $24 95 

JTIUSE" 

For those of you Apple users who thought Super Text was 
the limit in word processors, there's something new from 
MUSE: Super Text II. It's everything that the original Super 
Text was, and more. Now you can previewa page before it goes 
to a printer, and see on your screen precisely what the printed 
page will look like. Pagination is now automatic. The program 
comes with a backup copy for those untimely demises. Inverse 
control characters and right- and left- justification are also 
included, along with many other features that make Super Text 
II the last word in word processors (or the Apple. 
Apple II Plus, 48K Disk $150.00 



JOHN WILEY & SONS, Inc. 



CP/M — The Control Program/Microcomputers software 
package — is the most widely used microcomputer operating 
system. With it, tens of thousands of users operate their 
microcomputers and perform routine work functions. Now two 
authors of bestselling Wiley computer books present a 
complete, detailed introduction to the use of CP/M for 
maximum capability and efficiency — with any hardware, using 
any programming language. 

Now microcomputer users can get the most from their 
software (or "firmware") for best results from their hardware! 

CP/M is a registered trademark of Digital Research, 
by J. Fernandez and R. Ashley, (Wiley) $8.95 + $1 




/-micpo \aby 



Oosi^t 



The airspace around you is alive with swirling jets and a 
helicopter that spits out tracers in every direction at once. You 
are at the controls of a jet fighter in the midst of the maelstrom, 
desperately trying to shoot the others out of the sky. Not only 
must you send the other jets down in flames, but if a pilot bails 
out, you must eliminate him before he reaches the ground or 
he'll come back in another fighter to haunt you. 

DOGFIGHT is a one or two player game for your Apple 
which puts you at the controls of a jet fighter. You have an 
overview, so you know when seomeone is on your tail; but 
avoiding those tracers while gunning down the enemy is a task 
much easier to conceive than to execute. Your reflexes must be 
razor sharp, and your timing near perfect . . . and then it's only 
lough. Each time you successfully down your enemies, more 
appear to make your task harder. 

Those hardy enough to down a plethora of enemy fighters 
(10,000 points) will receive a secret message from the computer 
entitiling them to a plaque certifying them as a Dogfight Ace. But 
be warned: Even if you are half-falcon and the rest turbojet, it 
won't be easy. ...just exciting. 
Disk $29.95 



SYeSERCISTlC SOFTWARE 




Adventure 



The High One is dead. The source of his power, a jewel- 
encrusted orb, lies hidden somewhere in the archipelago of the 
Sargalo Sea. The forces of evil roam about, preying on hapless 
travellers, and ambushing merchant caravans. Chaos reigns 
supreme. 

You and your party of adventurers might be able to reinstate 
order in the realm, rendering the land fit for human habitation. 
But you cannot do so unless you find the orb. To do that, you 
will need to round up an army of mercenary warriors, acquire 
wealth and supplies, and learn to sail and wield magic. You must 
be cunning and sly, and willing to undergo an arduous quest — 
but the human race has no other hope for salvation and 
supremacy. 

Odyssey: The Compleat Adventure is the newest adventure 
game from Synergistic Software, the folks that brought you the 
Wilderness Campaign and the Dungeon Campaign. Now \hev 
offer an adventure that combines all of the elements of those 
two programs with many new features. Here's your chance to 
establish yourself as a leader of men and a shaper of destiny. 
Apple II, Integer, 48K Disk $29.95 



SoftSide DECEMBER, 1980 



BASIC COMPILER from 

Bringing BASIC Up To Speed ^ ^ 

You have all Kinds of good reasons to program in BASIC. BASIC came with your TRS-807lt was easy to learn, It's 
easy to use, and It's powerful enough) for a wide variety of applications. But face It, you didn't choose BASIC 
because It was fast. Until now. If you wanted fast execution time you had to go to a whole new language. 

Now you can gat fast program execution times and more without giving up BASIC. Microsoft BASIC Compiler 
Is a powerful tool for BASIC programming that maizes programs run an average of 3-10 times faster than 
programs written In Dlsl^ BASIC. 

How It Works 

Microsoft BASIC Compiler can manage those incredible speeds because it's a compiler, instead of an 
Interpreter. (Level II, Disk BASIC and other microcomputer BASICS are interpreters.) 

The compiler produces highly optimized, Z-80 machine code that is directly executed by your TRS-80."Disk 
BASIC, on the other hand, has to scan each line of the source program every time the program is run. 

You simply type In and debug your program as usual, using your BASIC interpreter. Then you enter a single 
command line, telling the compiler what to compile and what options to use. 

BASIC Compiler takes it from there, producing optimized machine code as a relocatable binary file. This file, 
called the object program, is then loaded and linked with BASIC'S runtime library using a utility program called 
LiNK-80. Both the runtime library and LINK-80 are included in the BASIC Compiler package. 

When you run your compiled program, you'll be amazed at the difference! The increase will vary, depending on 
the program, but can be as much as 30 limes the execution speed of your interpreted program if you make 
maximum use of integer operations. 

And you can save your compiled program on disk so you don't have to recompile it every time. 

More Than Speed 

As If speed weren't enough, Microsoft BASIC Compiler also adds features to the already powerful Disk BASIC to 
make your programming easier. It incorporates many of the features added to the Microsoft BASIC interpreter in 
the fifth major release, including: 



WHILE/WEND Statement. A new conditional state- 
ment that give BASIC a more structured flavor. 
CALL Statement. Lets you call assembly language 
and FORTRAN subroutines much more easily than in 
Level II. 

Long variable names. Up to 40-character variable 
names are allowed and they may contain embedded 
reserved words. 

Double precision transcendental functions. SIN, 
COS, TAN, ATN, LOG, EXP, SQR are supported as 
an exclusive feature of BASIC Compiler. 
Powerful BASIC language features you can use 
within Disk BASIC include: 
PRINT USING for fomiatted output, includes asterisk fill. 



floating dollar sign, scientific notation, trailing sign 

and comma insertion. 

Four variable types: Integer, String, Single Precision 

Floating Point (7-diglts) and Double Precision 

Floating Point (16-dlgits) 

Trace facilities (TRON/TROFF) 

Error trapping 

Direct access to CPU I/O ports with iNP and OUT 

Read or write any memory location using PEEK/POKE 

Matrices with up to 60 dimensions 

Nested IF/THEN/ELSE 

Boolean operators OR, AND, NOT, XOR, EQV, IMP 

Complete file manipulation statements: OPEN, 

CLOSE, GET, PUT, KILL, NAME 



The Inside Story 

It's the optimization processes that take place while a program is being compiled that make programs run under 
BASIC Compiler compact and incredibly fast. The optimizations occur: 



• Expressions are reordered to minimize temporary 
storage and to transform floating point division into 
multiplication wherever possible. 

• Constants are folded wherever possible. 

• Constant multiplicatlons are distributed to allow 
more complete constant folding. 

System Requirements 

BASIC Compiler will operate on a Radio Shack Model I 



• Peephole optimizations are performed, including 
strength reduction. 

• The code generator is template-driven, allowing se- 
quences to be generated for the most commonly used 
operations. 

• String operations and garbage collection are ex- 
tremely fast. 

TRS-SOtm with one disk and 48K RAM. Programs 



compiled with the BASIC Compiler may be stored on disk $195.00 + $3.00 



6 SOUTH ST., MILFORD, NH 03055 



TO ORDER TOLL FREE 
1-800-258-1790 

(In NH call 673-5144) 




SoftSide DECEMBER, 1980 



ABOUT THIS ISSUE 

Hi. It's us, 'tis we, the editorial 
munchkins have returned! 

We have lots of good stuff this 
month. Our featured article, with 
apologies to R.L. Stevenson of 
course, is entitled "Kidnapped!" 
Written by Peter Kirsch, not to be 
confused with the firewater of 
similar nomenclature, 
"Kidnapped!" places you in a tall 
building. You must escape. Sound 
easy? Each floor contains an 
adventure in itself. We, of course, 
wish you the best of luck. But then 
we aren't in a strange building. . .yet. 

And then for all you starship 
jockeys there's a whole mess of 
stuff: "Space Dodge" for both the 
S-80 and the Atari, and "Missile 
Evasion" for the S-80. In "Space 
Dodge" you must pilot a craft 
through the treacherous deep space 
Triton minefields without hitting 
one. If you venture off the screen, 
the twin laser generators will 
vaporize you. If you succeed, you 
find out that the Federation can't 
spell (S-80 version only). "Missile 
Evasion" seems self-explanatory. 
Avoid the missile, please. 

For you Apple owners, the long- 
awaited Baseball program. Son of 
a Son of S-80 Baseball by a whole 
slew of enterprising programmers 
is in this month. And you don't 
even have to wait until next spring 
to try it out. 

Kids having problems with 
math? Our stocking caps are off to 
Denslo HamHn, who has provided 
us with a "Word Problems" 
program that poses mathematical 
brain-twisters for those who Hke to 
have their brains, errrr, twisted. 
We munchkins never bothered with 
math, really. Could that have 
anything to do with our single-digit 
salaries? 

The prolific Mr. Bohlke once 
again has showered us with 
entertaining programs from the 
cornfields (soyfields?) of Iowa. 
Your Atari owes the man a debt of 
gratitude. This month it's "States 
& Capitals," a quiz for geography 
wizards, and "Speedello" a new 
version of the game Othello, not to 
be confused with Shakespeare's 
famous Moor. 

And guess what? The SoftSide 
Continuing Data Base does just 
that: continues. (This ad courtesy 
of the Dept. of Redundancy Dept.) 

And. . .oh oh, here comes the 
Editor. A merry (and hasty) 
munchkin farewell. See you next 
month. ^^ 

10 




STAD 



RAMWARE 



' with STAD Symbolic Trace 



Unlock the power of the Z-80 
and Debug 

A powerful nnonitor for the TRS-80™ with special 
Debugging, Single Step through the machine language 
programs or set up to three breakpoints, and look at thi; 



programs 
display format 



For tape and disk systems. 16 — 48K on one cassette — $24.95 



EDITOR/ASSEMBLER PLUS 



MICROSOFT 



Plus what? Well, you get the features of the T-Bug and 
the original editor/assembler plus macros and conditional 
assembly, plus extra commands like substitute, move, copy. 
and extend, plus Z-Bug, a powerful debugging monitor with 
8 level breakpoint capability $29.95 



RSM 2/2D 



SMALL SYSTEMS SOFTWARE 



22 commands to control your TRS-80™ Z-80 processor' 
Examine ROM, test RAM. program in machine language 
read/write machine language tapes, and much more' RSM-2 
tape loads at top of 16K Level I or II, RSM-2 disk includes 
3 versions for 16K, 32K and 48K RSM-2: AN ADVANCED 

TAPE MONITOR FOR 16K S-80S $26^5 

RSM-2D 3 MONITORS FOR TRS-80™disk systems... $29.95 



Z-80 ZAP/CMD 



RAMWARE 



Powerful disk modification utility m machine language 
allows you to READ, DISPLAY, MODIFY, WRITE, and 
COMPARE disk sectors It will calculate Hash Index Codes 
for any filespec and tell you where to put it (ever have a HIT 
read error'') You can recover killed disk files Search for a 
byte and have it identified with a flashing cursor 
Convenient to use, with cursor controlled by arrows, paging 
forward and backward, toggle between same sector on 
different disks and between Z80ZAP and DEBUG Do disk 
backups, apply patches and fixes, and explore your disk 

Program on ditk for minimum 16K 1 disk syatem, with 
Instruction manual $29.95 



ULTRA-MON 



INTERPRO 



The first intelligent monitor available for the TRS-80™ 
Ultramon is the first ROM independent machine language 
monitor which puts you in COMPLETE CONTROL with 
exclusive INTERPRETIVE EXECUTION 

Each instruction is individually fetched, decoded, 
disassembled , and analyzed by Ultramon's "BRAIN " so that 
your efforts cannot "Bomb-out" and so that you can put 
breakpoints anywhere You can even put breakpoints in 

ROM 

ULTRA-MON displays, disassembles, traces (hard-copy 
trace disassembly, too!) Iinepnnts. modifies, relocates 
memory, and even relocates itself with its commands This 
13-page documentation SHOWS YOU HOW TO DO IT 

Totally ROM independent. Ultramon will work in both the 
old and the newer ROM and will not be affected by any 
lower case modifications. 
Cassette $24.95 



6 South St.. Miiford, NH 03056 

TO ORDER TOLL-FREE: (in NH call 673-5144) 

1-800-258-1790 




SoftSide DECEMBER, 1980 



INTERACTIVE 
FICTION 

Step into a new 

dimension 

in 

literature. 

NEW! From 
Adventure International 





Traditionally, literature has 
been a one-way medium. The 
information flow was from the novel 
to the reader, period. Interactive 
Fiction changes this by permitting 
the reader to participate in the story 
itself. 

The computer sets the scene 
with a fictional situation, which you 
read from the terminal. Then you 
become a character in the story: When it's your 
turn to speak, you type in your response. The dialogue 
of the other characters, and even the plot, will depend on 
what you say. 

Robert Lafore, writer, columnist, and programmer, has 
createda series of works in Interactive Fiction. Each is available 
on a 5'/4" diskette for use on a TRS-80* Levelll with at least 32K 
memory and one disk drive. 



Six Micro Stories offers a good introduction to Interactive 
Fiction. Six very short stories involve you, the reader, in a variety of 
situations: You are an American spy in Hitler's Third Reich, the pilot of 
a dcKimed 747, and more. 

Local Call for Death is a detective story in the style of Lord Peter 
Whimsey. Considerably more challenging than the above program, 
this one will put your analytic skills (and social savoir-faire) to the test. 

Two Heads of the Coin is a psychological mystery set in the 
London of Sherlock Holmes. Most challenging of all, this program will 
tax your observational skills and, above all, your imagination. 

On TRS-80 Disk. Requires User to have a copy of TRSDOS 2.2 or 2.3. 

Six Micro Stories $14.95 

Local Call For Death $19.95 

Two Heads of the Coin $19.95 



The Saitware Exchange 

6 SouthStnxH, MilforctNH 03055 
Call toll free 1-800-258-1790 

(In NH call 673-5144) 





SPECIAL 
DELIVERY 

with 

EXTRACT 

A 100% Machine Language Word Processor from: 



We can't slop improving and expanding the 

capabilities of your TRS—80* By using SPECIAL 

DELIVERY with EXTRACT and either Electric Pencil* 

or Radio Shark's Scrip'iil* you can get even more 

out of your computer Erom just one package you 

will get all this: 



MAILFORM 

Create MAILFILE: The ONLY complete name and 

address list eniry/ediior program written in 

machine language. 



MAILRITE 

Print letters written with either the Electric Pencil* 

or Radio Shack's Scnpsit* inserting information 

from a MAILFILE into the letter for personalizing 

and addressing. 



EXTRACT 

Take out information from the MAILFORM. the 

machine language mailing list. Find the names you 

need by Zip Code. Street Address. Gender, Age or 

any other way! 



SORT 

in-Memory sort on an entire address list using any 
field as the key. 



LABEL 

Prims labels from MAILHLE 



CONVERT 

Make MAILFILE from RS mail list. 



SPECIAL DILIVERY will run on your rRS-80* wilh 
TRSDOS'. NEWOOS' or any other TRS' - like 
DOS 

$125.00 



The 
Sattware Exchange 

6 Soulh Slreel, Millord. NH 03055 
ORDER TOLL-FREE: (In NH call 673-5144) 

1-800-258-1790 • 



SoflSide DECEMBER, 1980 



// 



/HKX^QSOfT 



FORTRAN Compiler 
LINK-80 Linking Loader 
EDIT-80 Text Editor 
FORUB Runtime Library 
Complete documentation 



FORTRAN 
PACKAGE 



For TRS-80 users who want FORTRAN programming capability 

Because FORTRAN is a popular language that lias been around a long time, and because 
Microsoft's TRS-80''FORTRAN is an ANSI Standard FORTRAN, users will instantly have access to 
the vast number of applications programs already written in FORTRAN. After all, FORTRAN is the 
standard language used throughout the industry for scientific, mathematical, engineering, 
statistical and modeling programs. FORTRAN is probably the answer if Level II BASIC has 
presented any limitations for your applications. For instance; it's easy to interface directly to 
machine language subroutines , double precision scientific functions are included, FORTRAN can 
support any I/O device, and because it's a compiler, FORTRAN is faster (3-10 times faster!) than 
BASIC. Floating point and I/O subroutines from FORTRAN'S library may be incorporated in 
subroutines, plus users can create their own library of the subroutines used most often. Using the 
text editor and linking loader, data files and FORTRAN files can be created and edited, loaded 
and linked together— that means much more extensive use of the TRS-80 disk hardware. 

TheTRS-80 "FORTRAN Package is fully compatible with TRSDOS. The TRS-80" FORTRAN 
compiler can compile approximately 1200 lines per minute in a single pass and requires a 
minimum 32K TRS-80'disk system. The compiler generates a fully symbolic listing of the machine 
language that is generated— a great way to learn assembly code! At the end of the listing, the 
compiler produces an error summary and tables showing the addresses assigned to labels, 
variables and constants $95.00 + $2.50 



MACRO-80 Macro Assembler 
LINK-80 Linking Loader 
EDIT-80 Text Editor 
CREF-80 Cross Reference Facility 
Complete documentation 



ASSEMBIY 

LANGUAGE 

PACKAGE 



For TRS-80 users who want assembly language programming capability 

The TRS-80 "Assembly Language Development System from Microsoft is the perfect, low-cost 
package to help you get started with assembly language programming. 

The macro assembler accepts Z-80 op-codes and supports a complete Intel standard macro 
facility including IRP, IRPC, REPEAT, local variables and EXITM $95.00 +$2.50 

SPECIAL PRICE 

Buy both and save $15.00 
Regular price for both $190.00 
Combination price $175.00 +$5.00 
^^ SAVE $15.00 

The SaitM^^te Exchange 

6 South St., Milford, N.H. 03055 

TOLL FREE: 1 ■800-258-1 790 

(in NH call 673-5144) 




' - SonSidc DECEMBER, 1980 



roLuzon 


J TiSLrUI 


^TQE^ii 


I Q 


COLUMN 


compared to one another 


printed out on the 


input/editor routine. This 


CALCULATOR is a "word 


(if column A is greater 


lineprinter in a compressed enables the user to not | 


processor for numbers," a 


than, less than, equal to. 


format at any stage in the 


only key in his instructions 


number processor 


not equal to column B, 


development of a data 


to COLUMN 


designed to be used like a 


then put the contents of 


base. Thus, it can be used 


CALCULATOR, but to 


desk calculator. It is 


column C into column D). 


as a finished report or as a 


edit errors or data as well. 


different than a calculator 


Columns can be totalled, 


copy of the worksheet to 


By connecting an 


in that it can handle large 


or set with a constant, and 


permit the filling in of 


amplifier and speaker to 


blocks of information as if 


any column can be sorted. 


additional data for later 


the cassette aux. output 


handling one number at a 


carrying the rest of the 


entry into the data base. 


from the computer, the 


time. The work space can 


columns with it. A 


The data base can be 


user can hear data entry 


be thought of as a large 


predefined function (series 


saved on disk and recalled 


feedback sounds which 


matrix with rows and 


of computations) can be 


at a later date for 


enable him to enter 


columns much like an 


defined, thereby pre- 


modification or for 


information into his 


accountant's spreadsheet. 


programming the 


generating a report. Any 


worksheet without 


Each column or row can 


worksheet. Enter the data. 


column in a file on disk 


constantly watching the 


be labelled. The cursor 


execute the function, and 


can be referenced and 


screen for visual feedback. 


can move around the 


print the results. The 


added to the current 


Information may be 


worksheet. Data can be 


COLUMN 


worksheet. This is 


reviewed at will by 


easily entered into the 


CALCULATOR is an all- 


particularly useful for 


scrolling up, down, left or 


columns; and the columns 


purpose data manipulator. 


generating composite 


right. Everything appears 


can then be moved 


TTie statistical section 


reports. 


on the video display 


around. Columns can be 


provides analysis of the 


All user communication 


screen as it occurs. 


overlaid from an existing 


data. The analysis includes 


with COLUMN 


thereby eliminating 


data file on disk. One 


simple statistics (mean. 


CALCULATOR uses 


guesswork. 


rnlumn can be added 


mpHifin mndp and 


FLASH, the line 


•^PK Hiqk SSQ.qS 


subtracted, multiplied, 
divided, or raised to a 


standard deviation), linear 
regression, simple 


The SaHware Exchange ^ 

6 South Street, Milford, NH O'?055 /^^JMi^ 


power of another and the 


correlation, histogram and 


'T~/~\ /^r>r\cm t^'^i i rrDCcr 


- 


1 


(^V/^l 


results put in another 


the T-test. 


lUOKUhK lULLrKth 
1-800-258-1790 


r 1 

MasterCard 


r^isA 


WMr 


column. Columns can be 


The information can be 


(In NHcall 673 51441 


L ^ J 


1 


MrmuaRE 







VTOS4^ 

VlimiAL TECHNOIBGY, INC. 

Operating System Diskette with Operator's Guide 



Supports Large (8") drive, Double Sided drive, 
Double Density drive, 80 Track drive, and Win- 
chester technology fixed drive. Supports double- 
speed processor clock modifications. 

Features include: Improved overlay structure, 
General purpose output spoilers. Keyboard Type- 
ahead, User definable keys, Built-in Graphic str- 
ing packer (lets user enter graphic symbols into a 
BASIC program from the keyboard through the use 
of the CLEAR key). Dated file, Marked files. File 
transfer by class. Built-in SYSTEM command contain- 
ing lower case display driver, Non-BREAKable 
AUTO and CHAIN commands, Wild-card DIRectory 
(permits user to locate all files of a certain 
classification such as '/BAS'), ALLOCate com- 
mand for pre-allocation and non-releasability of 



file space, and MEMORY command for directly 
setting upper memory limit. 

User may SYSGEN a custom VTOS system con- 
figuration containing special I/O drivers, device 
LINKing and ROUTEing, SPOOLing and DEBUG 
tasks. 

COPY and APPEND commands execute up to 
300% faster. 

Variable Length file support, is incorporated 
which automatically blocks short user data 
records both within a sector and across sector 
boundaries, thereby taking maximum advantage 
of disk file space. 

No security disk needed to make backups or to 
run the system $99.95 



IheSoftitare Exchange 



ORDER TOLL-FREE: (In NH call 673 5144) 

1-800-258-1790 




SoflSide DECEMBER, 1980 



13 



Exciting 
Entertaining 
Software for 
the Apple II 
and Apple 
Plus! 




_S^ Quality Software 



TO ORDER: 
CALL TOLL-FREE 

1-800-258-1790 

(In NH call 673-5144) 



ASTEROIDS 
IN SPACE 



If you liked "Invaders." you'll 
love ASTEROIDS IN SPACE by 
Bruce Wallace, Your space ship 
Is traveling in the middle of a 
shower of asteroids. Blast the 
asteroids with lasers, but beware 
• big asteroids fragment into 
smaller asteroids' The Apple 
game paddles allow you to rotate 
your space ship, fire its laser 
gun, and give it thrust to propel 
It through endless space From 
time to time you will encounter 
an alien space ship whose 
mission is to destroy you. so 
you'd better destroy it first! High 
resolution graphics and sound 
effects add to the arcade-like 
excitement that this program 
generates. Runs on any Apple M 
with at least 32K and one disk 
drive. On diskette - $19.95 



Hie Sattware Exchange 

h S(xithStrci't,B<)x(:,ii.Millord,NtU).i(n5 




seRsatioRal 
softivape 

ADVANCED 

AIR TRAFFIC 

CONTROLLER 

This real-time machine language 
program puts you in the chair of a 
busy air-tratfic controller. 27 prop 
planes and jets are depending on 
you as they take off, land and fly 
overyour airspace. You give orders 
to turn, maintain a holding pattern. 
change altitude, approach and land 
at either of two airports. 

Written by an air traffic controller, 
this realistic fast-paced simulation 
includes navigational beacons and 
the requirement that planes take off 
and land into the wind The 
program's continuously variable 
Skill level assures that you won't 
soon tire of this instructive and 
absorbing simulation 

In Air Traffic Controller you 
assume responsibility for the safe 
flow of air traffic within a 15 x 25 
mile area up to 5,000 feet in altitude 
During your shift as a controller in 
charge of this airspace 26 aircraft 
become active and under your 
control. Jets and prop planes have 
to be guided to and from the two 
airports, navigational beacons and 
ten entry/exit fixes. The aircraft 
enter the controller's airspace at 
various altitudes and headings 
whether or not you are ready 

Air Traffic Controller retains the 
basic realism of air traffic control. 
This program requires the same 
steady nerves under pressure and 
the same instant, almost instinctive, 
analyses of complex emergencies 
which are demanded of a 
professional air traffic controller. 
But "ATC" adds the excitement and 
well-defined goals of a game. This 
is just a simulation, and all 
passengers left in air traffic limbo 
by a panicked player will live to 
fly another day. 

Air Traffic Controller Is j^ 
available for the 18K TRS-80, the 
Apple II, and Apple II plus on 
cassette for $9.95 



^ 



TO ORDER 
TOLL-FREE 

1-800-258-17901 

(In NH can S73-S144) 



14 




SoftSide DECEMBER, 1980 



Elegance and power 
in a mathematical 
language. 

APL 



by Phelps Gates 





Software you can rely on. 

Now, a high-level, scientific programming language that doesn't cost $200 or $300 for the home computer. This language 
is perfect for the mathematician, scientist, engineer, or anyone who just wants to learn a new language. The power of this 
language is in its strong mathematical operations, especially with regard to matrices and vectors. Programs requiring matrix 
multiplication or other matrix problem solving that would require hours of programming time in BASIC are solved quickly 
and with minimal effort in APL. Not only is math made easy, but upon gaining proficiency in APL programming various string 
manipulations become child's play 

To aid in learning APL, lessons are included on the disk. Starting from the basics, you are brought step by step through the 
various programming techniques involved with APL. These lessons act as a tutor in a "learning by doing" atmosphere which will 
have you "talking APL" in no time. Also available is the book, APL: An Interactive Approach, which reinforces many of the 
examples given in the lessons. The book also provides additional insight into APL programming. 
LIMITATIONS 

TM 

Due to the absence of the special APL character set on the TRS-80 , APL-80 uses shifted letters to represent the various APL 
characters. These shifted letters are identified on the screen by a graphics block before each shifted letter. If you have a modified 
TRS-SOTM , a lower case driver is included to display the shifted letters on the screen. 

In addition to the keyboard limitations, there are several other limitations. Lamination, domino, and matrix inverse are not 
implemented but can be derived with user-defined functions. 

Multiple specifications must be split into two statements unless the left-hand assignment is to a quad. This also applies to implied 
multiple specifications. 

Reduction and reshape (p) are not permitted for empty arguments; the argument of add/drop may not be scalar; empty indices 
are not permitted. 

A quad (q) can't be typed in response to a quad (nor can the nameof a function which itself gets input from a quad). Quote-quad 
(m) is permitted. 

No more than 32 user functions can be defined in a single workspace and a function may not contain more than 255 lines. 

A comment (c) must occupy a separate line: a comment can't follow a function statement on the same line. 

In the tape version, arrays are limited to five (5) dimensions. 
FEATURES 

APL-80 on disk contains the following features: )SAVE and jLOAD workspace on disk; )COPY other workspaces Into current 
ones; Return to DOS for directory or commands without losing your workspace; Send output to lineprinter; Five workspaces of 
lessons included; Sequential and random files; 15 digit precision; Monadic and dyadic transposition; Easy editing within 
FUNCTION lines; Latent expression (FUNCTION can "come up running" when loaded); Tracing of function execution; Real-time 
clock; User-control of random link; Workspace is 25587 bytes (in 48K machine); Arrays may have up to 63 dimensions. 

COMMANDS APL-80 

APL-80 supports the following commands: Absolute value, add, and, assign, branch, catenate, ceiling, chr$/asc, circular, 
combinatorial, comment, compress, deal, decode, divide, drop, encode, equal, expand, exponential, factorial, floor, format, grade 
down, grade up, greater, greater/equal, index generator, indexing, index of, inner product, label, less, less/equal, logarithm, 
maximum, member, minimum, multiply, nand, negate, nor, not, not equal, or, outer product, peek, poke, quad, quote quad, 
random, ravel, reciprocal, reduction, reshape, residue, reverse, rotate, scan, shape, sign, system, subtract, take, transposition. 

SPECIFICATIONS 

Minimum system requirements: 32K disk system (48K recommended) Includes APL-80, Five workshapes of lessons, instruction 

"laiual. ,„„„- J- , 

p^jgg. $39.95 on disk 

Reduced feature: 16K Level II tape version, no lessons. 
Transpositions, format, and inner product not implemented. Reduced domain for some functions. 6 digit accuracy. 

Price: $1 4.95 on cassette 

APL: An Interactive Approach 

Pfi(.g. $16.95 ($3.00 shipping charge) 



TheSaiht/are Exchange 



TO ORDER TOLL-FREE 

1-800-258-1790 

(In NH call 673-5144) 




^^Bdim 



AJ1M(D)M 

A16K 

COMPUTER 

OPPONENT 

PROGRAM FOR 

THE APPLE II 

AND TRS-80 



"MONTY TM plays 
Monopoly"* is a computer 
opponent program designed to 
be used along with your Parker 
Brothers Monopoly game. You 
will need the board and all of the 
equipment that comes with the 
game to use this computer 
opponent program. 

MONTY TM provides a new 
dimension in microcomputer 
software. You will come to 
know him as simply another 
player, a bright, entertaining 
guest who provides real 
excitement for many of your 
favorite board games. 

MONTY TM written in 
machine language, works with a 
16K TRS-80 Level II or 16K 
Apple or Apple II plus. Cassette 
$24.95. Diskette $27.95. 



The 

Saftt^^te 

Exchange 

TO ORDER TOLL FREE 

1-800-258-1790 

(In NH call 673-5144) 



Strategic Simulations 



'^l^A^jj. 



t^ 



]*^/«^ 



S^ 



Cto 



Historic wargaming may be the only intellectual hobby which creates more in- 
tensely devoted fanatics than home computing. When two wargamers spend an 
evening refighting a famous battle, they'll spend several hours happily setting 

up the gameboard, firepower charts, unit strength tables and so forth. . .all 
before the first shot can be fired! There are such paper and pencil simulations 

of every famous battle from Shiloh to El Alamein. If you've ever tried one, 
you already know the excitement and challenge of trying to be a better general 

than Rommel. 

If you've got an Apple II Plus (or an Apple II with Applesoft Firmware ROM 
Card) with 48K memory and a 5 V*" mini floppy disk drive, you can be play- 
ing Computer Bismarck in a few days. For $59.95, you can get the game pro- 
gram disk, two mapboard charts (for plotting secret strategies in grease pencil 
between moves), two ship data charts, two system command cards, a loading 
instruction sheet, and a rulebook $59.95 

Computer Bismarck is also available for the S-80 

Level II on cassette for $49.95 

Disk $59.95 




AMBUSH 



Computer controlled mapboard of a typical French village. 

Step-by-step computer regulated play. 

Extensive line of sight rules providing for hidden movement. 

Each soldier individually rated for strength, intelligence, dexterity, and 

marksmanship. 

Realistic weapons, characteristics, and explosives. 

Sophisticated movement rules permitting running, walking, crawling, dodging, 

and sneaking. 
Simultaneous execution of orders. 
Ability to save a game in progress and restart it at a later date. 
Playing time 1 to 5 hours. 48K Apple Machine Language - Disk $59.95 

The Scitware Exchange 

6 South St., Milford, N.H. 03055 
TO ORDER TOLL-FREE 

1-800-258-1790 

(In N.H. call 673-5144) 





16 



SoftSide DECEMBER, 1980 



ST80HASA 
SMART TERMINAL 
PACKAGE FOR YOU! 




All four programs include tbe ability to use an unmodified TRS-80 keyboard to produce RUB, ESC, and other control 
characters for time sharing, software control of the RS-232-C board, repeat key, bell, software support for the three most 
common upper/lower case hardware conversion, and line printer output. 

ST80* UC 

Preset parity, word length, and baud rate (regardleu of switch settings on the RS-232-C board) for THE SOURCE, 
MICRONET, and FORUM 80, automatic testing of the RS-232-C board, and even spooling of prepared messages on tape 
directly into FORUM 80 using a basic program supplied as a line listing. 4K Level II cassette, $24.95 

ST80* 

Reprogram your RS-232-C board from the keyboard, and run at different baud rates. Note: does not have auto testing of the 
RS-232-C or tape spooUng. 4K Level II cassette $49.95 

ST80*D 

Connection time clock, option of user-created translation tables for keyboard, gathering and pre-formatting data to be sent 
directly from disk to host computer, spooling of received files to disk or printer, editing of received files, and auto logon. Use it 
«nth VTOS 3.1, and get device-driven I/O, job logging, and chaining. 32K disk program, $79.95 



ST80* III 

ST-80 D with extra utility programs. 32K disk program, . 




$150.00 

The Saitware Exchange 

6 South Street, Milford, NH 03055 
ORDER TOLL-FREE: (In NH caU 673-5144) 

1-800-258-1790 

■ A trademark o1 Lance Micklus, Inc. 



SoftSide DECEMBER, 1980 



17 




From 
Avalon Hill 




$15.00 



each 



NORTH ATLANTIC CONVOY RAIDERS 

This game is a computer simulation of the Bismarck convoy raid of 1941. The computer controls 
the British convoys and British battleships. Will the Bismarck sink the Hood, only to be sunk in turn 
by the Rodney and King George V, as in history? Or, will the Bismarck cripple or sink the British 
Home Fleet and go rampaging through the convoy lanes? Your decisions will determine the fate of 
the Bismarck. 

This SOLITAIRE game includes software and instructions for the following computers: TRS-80* 
Level II, 16K Memory Apple W. Applesoft, BASIC, 16K Memory beyond BASIC Pet*, 16K Memory 

NUKEWAR 

NUKEWAR is a computer simulation of a nuclear confrontation between two hypotnetical 
countries. You must choose the methods to defend your country: either by massive espionage 
efforts, or by building jet fighter-bombers, missiles, submarines, and anti-ballistic missiles. 
Meanwhile, your cold and calculating computer will choose its own strategy to defend its country 
while also trying to destroy you utterly! NUKEWAR is very fast-paced and easy to learn, and can be 
enjoyed equally by game players of all ages and levels of experience. Best of all, once the nuclear 
war is over, you can bring the two countries back to life and try it again! 

This SOLITAIRE game includes software and instructions for the following computers: TRS-80* 
Level II, 16K Memory. Apple II*, Applesoft* BASIC, 16K Memory beyond BASIC Pet*, 16K 
Memory. 

PLANET MINERS 

PLANET MINERS gives one to four players the chance to compete with each other and the 
computer to stake valuable mining claims throughout the solar system in the year 2050. Each player 
must decide which ships to send to which planets and when to try "dirty tricks" like sabotage and 
claim-jumping. If there are less than four players, the computer takes the other parts. (It can even 
play all by itself!) Thus, PLANET MINERS can either be played solitaire or with friends. 

This 1-4 player game includes software and instructions for the following computers: TRS-80' 
Level II, 16K Memory Apple II*, Applesoft* BASIC, 16K Memory beyond BASIC Pet 2001*, 16K 
Memory. 

B-1 NUCLEAR BOMBER 

This game gives you an opportunity to be the pilot of a B-1 bomber on a mission over the Soviet 
Union. You must fly the plane through the stiff Russian defenses to the target city, bomb it, and 
return home. Your computer controls the Soviet air defense bases with their almost unlimited 
numbers of MiG's (fighters) and SAM's (surface-to-air missiles). Your only chance to get through is 
to rely on the superior technology of your sophisticated ECM (electronic counter measures) and 
self-defense missiles. When all else fails, you can try violent evasive maneuvers. 

This SOLITAIRE game includes software and instructions for the following computers: TRS-80* 
Level II, 16K Memory Apple II*, Applesoft* BASIC, 16K Memory beyond BASIC Pet*, 16K Memory. 

MIDWAY CAMPAIGN 

MIDWAY CAMPAIGN is a computer simulation of the battle for Midway Island. Your 
microcomputer controls a huge force of Japanese ships whose objective is to invade and capture 
Midway Island. If the Japanese can win air superiority over Midway, the success of the invasion is 
virtually guaranteed. If not, they will be forced'to turn back to prevent the loss of irreplaceable 
troops who would be totally vulnerable in their invasion craft. In the actual engagement, the 
Japanese made several tactical errors which cost them the battle. Your computer probably won't 
make the same mistakes! You command the badly outnumbered and outranged U.S. Navy forces. 
Your only advantage is surprise. 

This SOLITAIRE game includes software and instructions for the following computers: TRS-80' 
Level II, 16K Memory Apple II*, Applesoft* BASIC, 16K Memory beyond BASIC Pet*, 16K Memory 

IheSoHware Exchange 

M^ ORDER TOLL-FREE: (in NH call 673-5144) ^ST 

1-800-258-1790 ~" 



18 



SoftSide DECEMBER, 1980 



At HAYDEN,The Best Has Gotten Better. 

Sargon, the program that came in first in the Creative Computing 
Microcomputer Chess Tournament, has become Sargon II. The game 
has been vastly improved and now has a faster response time. A new 
Level has been Incorporated for beginners. The board is easier to 
pre-set and there Is now a Hint mode that provides suggestions from 
the computer. Sargon II took on the maxi-computers In the West 
Coast tournament and finished In the money! Shows more thinking 
power than you ever expected. 






::\.. 






Sargon II 16K Level II Cassette $29.95 (TRS-80) 

Sargon II 24K Cassette Machine Language $29.95 (Apple) 

Sargon II 32K Disk $34.95 (TRS-80) 

Sargon II 48K Disk Machine Language $34.95 (Apple) 



/ 



/ M 



Hl^-Tl .1 .' 



6 SouthStrect,Boxb8,Milford,NH 03055 603-673-5144 



r.-x. 



^, '■ T ■ 



TO ORDER TOLL-FREE (In NH call 673-5144) 

1-800-258-1790 



SoflSidc DECEMBER, 1980 



/9 



CHRISTMAS CARD 




by Fred Pence 

Christmas Card requires 16K and 
Applesoft. It is also much nicer in 
color than in black and white. 

Here's a Season's Greetings that 
hearkens back to the old days of a 
yuletide in front of a roaring 
hearth. You can personalize this 
animated greeting card with your 
own name (change line 2670). Let 
the computer do the rest — two 
familiar carols and a fireside scene 
that exudes contentment. May all 
your Christmases be this placid. 

INSTRUCTIONS: 
RUN is all that is necessary. 

VARIABLES: 

ZL = Upper limit for timing loop 

of scene. 

Z= Timing loop for scene. 

I = Pitch for music notes. 

J = Timing loop for dog's 

movement and lights blinking (also 

for length of note in music 

subroutine). 

K = Timing loop for star on tree. 

L= Light number on tree. 

T = Timing loop for star on tree. 

FH = Height of fire in fireplace. 

FW = Width of fire in fireplace. 

X, Y = Plotting variables. 

ST = Number of snow flake 

frame. 



3 FlEM w A CHRISTMAS CARD " 
1 REM n BY n 

5 PEM n FREDPEICE w 

9 GOSUB 10000 

10 GOTO 2500 
98 HOME ; GR 

Set full screen qraphics. 

92 POKE - 16302,0 
95 ZL = 75 

Draw floor, wall, fireplace, and 
interior. 

199 REM IX PICTURE 

200 COL0R= 9: FOR Y = 32 TO 175 HLIN 
0.39 AT YJ NEXT Y 



210 COLOR= 7! FOR Y = TO 31*. HLIN 

0,39 AT Y; NEXT Y 
220 COLOR= 5: FOR Y = 22 TO 32: HLIN 

23,33 AT Y; NEXT Y 

Draw uindou. 

225 COLOR= O: FOR Y = 2 TO 20! HLIN 
2.12 AT Yt NEXT Y 

230 COLOR= 15! HLEN 2,12 AT 2: HLIN 
2.12 AT 2i; HLIN 2,12 AT li: 
VLIN 2,21 AT 7 

250 COLOR= 3: VON 2,21 AT i: VLIN 
2,21 AT 2! yilN 2.12 AT 3! VLIN 
2,6 AT V, VLIN 2,6 AT lO: VLIN 
2,12 AT 11! VLIN 2,21 AT 13! 
VLIN 2,21 AT 12 

Draw the ruq. 

250 COLOR= 2! HLIN 27.31 AT 36! HLIN 
25,31 AT 37! HLW 21,37 AT 3 
8! HON 20,38 AT 39! HLIN 20 
,38 AT 10 

253 HQN 21,37 AT 12! HLIN 23,36 
AT 13! HLIN 25,31 AT 11! HLIN 
20,37 AT 11! HLIN 28,31 AT 1 
5 

Draw picture frawe. 
260 COLOR= 8! HLIN 26,31 AT 1! HJN 

26.31 AT 13! VLIN 1.12 AT 26 

! VLIN 1,12 AT 31 

Draw Christnas tree. 

900 COL(K= 1! VLIN 10,39 AT 9 

910 FOR X = - 1 TO 1 STEP 2 

915 WJN 15,39 AT 9 + X! VLIN 19 

,39 AT 9 + 2 X X! VLIN 23,39 

AT 9 + 3 I X: WJN 28.39 AT 

9 + 1 1 X! VQN 31,39 AT 9 + 

5 I X! VQN 31,39 AT 9 + 6 x 

X! VLIN 37.39 AT 9 + 7 i X! NEXT 

X! FIOT 1,39! PLOT 17,39 

Draw star on top of tree, 

920 COL0R= 13! PLOT 9,9 
Draw fireplace. 

930 COLOR= 1! FOR Y = 18 TO 21! HLIN 

19,37 AT Y! fCXT Y 

935 FOR Y = 22 TO 31! HIN 19.22 
AT Y: HLIN 31,37 AT Y! NEXT 
Y 




910 COL0R= 9! HLIN 17.38 AT 16! HLIN 

17,38 AT 17 
950 COLOR= 0! HLIN 25.31 AT 32! PLOT 

25,33! PLOT 31,33 

Draw vases on nantel, 

960 COLOR-= 13! HLIN 19,22 AT 13! 
PLOT 20.11! PLOT 20,15! PLOT 
21,11! FIOT 21,15 
970 COLOR= 3! VLIN 12.15 AT 31! VLIN 

10.15 AT 35! VLIN 12,15 AT 3 
6 

Draw base of tree. 

980 COLOR= 8! VLDi 8.10 AT 10! COL0R= 
15! HLIN 7,11 AT 11! HIN 6, 
12 AT 12! HLIN 6,12 AT 13 

Draw presents LCider the tree, 

990 COLC«= 15! VLIN 13,16 AT 1! VLIN 

13.16 AT 3! VLIN 11,12 AT 11 
! VLIN 11,12 AT 16 

995 COLOR= 11! HLIN 5,9 AT 13! HLIN 
5.9 AT H! HLIN 5.9 AT 16! HLIN 
5,9 AT 17 

996 COLOR= 6! HLIN 5,9 AT 15! VUN 

13.17 AT 7 

997 COLOR= 1! VLIN 13.17 AT 2! VLIN 
11,12 AT 15 

Draw stockings on fwntel. 



1000 COLOR- 2! WJN 17.23 AT 26! 
VLIN 17,23 AT 25! VLIN 22,2 
3 AT 21 



20 



SoftSide DECEMBER, 1980 



1085 COLOR= 115 WJN 17,22 AT 32 


1110 F SCRN( 9,20) = 1 THEN mi nR= 


1217 COLOR= i; PLOT 15.35; GOTO 


J VON 17,22 AT 315 VLIN 21, 


13: PLOT 9,20: GOTO 1300 


1300 


22 AT 30 


1112 COLOR= i: PLOT 9,20: GOTO 1 


1220 IF SCRN( 6.37) = 1 THEN COL0R= 




300 


9; PLOT 6.37: GOTO 1300 


Draw picture above nantel. 


1113 GUIU 1300 


1222 COLOR= i: PLOT 6,37: GOTO 1 




1115 F yt»<( 11,21) = 1 THEN COLOR= 


300 


1010 COLOR= 12: HLIN 27,30 AT 12 


9: PLOT 11,21 : GOTO 1308 


1225 IF SCRN( 10,37) = 1 TJ€N COLOR= 


: HLIN 27,30 AT 11 


1117 COL0R= i: PLOT ll,2i: GOTO 


13; PLOT 10,37; GOTO 1300 


1012 f:«tlR=35 HLW 29,30 AT lO: 


1300 


1227 COLaR= i: PLOT 10,37: GOTO 


PLOT 30,9: minR= 15: HLIN 


1150 IF SCRN< 8.23) = 1 THEN COLOR= 


1300 


27,28 AT 5: PLOT 27,6: COLQR= 


2: PLOT 8.23: GOTO 1300 


1230 IF SCRN< 3,38) = 1 T^OI COLOR= 


13: PLOT 29,7 


1152 COLCK= i: PLOT 8,23: GOTO 1 


3: PLOT 3,38: GOTO 1300 




300 


1232 COLOR= i: PLOT 3,^: HJTO 1 


Draw doq. 


1155 F SCRN( 7,25) = 1 THEN COLOR= 


300 




10 : PLOT 7,25: GOTO 1300 


1235 IF SCRN( 8.39) = 1 TtCN COLDR= 


1015 COLOR= O: HJN 23,33 AT «: 


1157 COLOR= i: PLOT 7,25: GOTO 1 


3; FIOT B.39: GOTO 1300 


HLIN 26,31 AT 1i: HLIN 26,2 


300 


1237 COLOR= i; PLOT 8,39; GOTO 1 


7 AT 12: HLIN 26,28 AT «: PLOT 


1160 F SCRN( 10,25) = 1 THEN COLOR= 


300 


31,12: HLIN 31,33 AT 13: HLIN 


7; PLOT 10,25: GOTO 1300 


1210 IF SCRN( 12.38) = 1 THEN COL0R= 


26,33 AT 39: HIN 31,33 AT 3 


1162 COLOR= i: PLOT 10,25: GOTO 


i; PLOT 12,38; GOTO 1300 


b: plot 31,37: plot 33,37: plot 


1300 


1212 COLOR= i; PLOT 12,38; GOTO 


23,39 


1165 F SCRN( 7.28) = 1 THEN COLOR= 


1300 


1820 minR= 13: PLOT 31,39: PLOT 


i: PLOT 7,28: GOTO 1300 


1215 IF S(JkN( 15,38) = 1 TftN COLOR= 


33,39 


1167 C0L0F:= 1: PLOT 7,28; GOTO 1 


9; PLOT IS.Iffl; K)TO 1300 




300 


1217 COLOR= i: PLOT 15,38 


Draw package under tree. 


1170 F SCRN( 12,28) = 1 THEN COLOR= 


1300 IF K > = 25 THEN CQLOR= 




11 ; FIOT 12,28; GOTO 1300 


: PLOT 9,9 


1025 COLOR= 1: HIN 12,18 AT 15: 


1172 COLORE i; PLOT 12,28: GOTO 




HLIN 12,18 AT 16: COLOR= 15 


1300 


Turn star on tree on or off. 


: PLOT 16,15: PLOT 16,16 


1175 F SCRN( 10,29) = 1 THEN COL0R= 






2; PLOT 10,29; GOTO 1300 


1315 IF K = 35 THEN Ca.OR= 13; PLOT 


Draw log and fire in fireplace. 


1177 COLOR= i; PLOT 10,29; GOTO 

1300 
1180 F SCRN( 6,31) = 1 THEN COLOR= 


9,9;k = 


1030 C010R= 8: HLIN 26.32 AT 3i: 


Flicker the fire in the fireplace. 


PLOT 25,30 : PLOT 26,30 


7; PLOT 6,3i; GOTO 1300 




1035 C010R= 13: HLIN 25,32 AT 30 


1182 COLOR= i: PLOT 6,3i: GOTO 1 


1325 FH = 30 - INT (1 i FM) (2) 




300 


);FH = 25 + 8« RND (2) 




1185 IF SCRN( 13,31) = 1 THEN COLOR= 


1328 IF FH = 25 OR FW = 26 OR FH 


Initialize tininq loops. 


6: PLOT 13,31 : GOTO 1300 


= 31 OR FN = 32 AND FH < 29 




1187 COLDR= i; PLOT 13.31: GOTO 


THEN FH = FH + 3: GOTO 1330 


1095 K = o:j = o:t = o 


1300 


1329 F FW > 26 AND FW < 31 AM) 


Test randon tree lights. If on. 


1190 IF SC»I( 11,32) = 1 THEN COL0R= 


FH > 28 THEN FH = FH - 1 


turns it off; if off, turns it on. 


i: PLOT 11,32; GOTO 1300 


1330 COLOR= 13; VLIN FH,30 AT FW 




1192 COLOR= i; PLOT 11,32: GOTO 


; COLOR= 5; VLIN 21,FH - 1 AT 


1100 K = K + 1:L = 21 I RM) (1) ♦ 


1300 


FH 


i:j = J + 1 


1195 IF SCRN( 1,32) = 1 THEN COL0R= 




1103 REM n BLINKING LIGHTS 


2: PLOT 1,32; GOTO 1300 


Eilir*. dog's eyes. 


1105 ON L GUlU 1125,1130,1135,11 


1197 COL0R= i; PLOT 1,32: GOTO 1 




10,1115,1158,1155,1160,1165, 


300 


1350 IF J = 35 TJO COL0R= O; F1.0T 


1170,1175,1180,1185,1190,119 


1200 IF SCRN( 8.33) = 1 TJCN COLOR= 


31.39; PLOT 33.39; GOTO 1390 


5,1200,1205,1210,1215,1220,1 


9: FIOT 1,32; GOTO 1300 




225,1230, 123b,1210, 1215 


1202 COLOR= i; PLOT 8,33: GOTO 1 


1355 IF J = 12 THEN COLOR= 13: PLOT 


1125 F SCWM 18,15) = 1 THEN COLOR= 


300 


31,39; PLOT 33,39; GOTO 1390 


i: PLOT 10,15: GUlU 1300 


1203 GOTO 1300 




1127 mnR= i: PLOT 10,15: guiu 


1205 IF SCRN< 1.35) = 1 Tl€N COL0R= 


Move dog's head. 


1388 


3: PLOT 1,35; GOTO 1300 




1138 F !>U<N( 8,17) = 1 THEN COLDR= 


1207 COLOR= i; PLOT 1,35: GOTO 1 


1360 IF J = 58 THEN COL0R= O: PLOT 


ir. PLOT 8,17: GOTO 1301 


300 


32,37: PLOT 33.39: COLOR= 2', 


1132 minR= i: PLOT B.17: goto 1 


1210 IF SCF»I( 10,35) = 1 THEN COLOR= 


PLOT 33,38: PLOT 33,37 


300 


2: PLOT 10.35: GOTO 1300 


1365 IF J = 59 THEN COLOR= O: PLOT 


U35 IF SCRN( 10,18) = 1 THEN COLOR= 
13: PLOT 10,18: GUIU 1300 


1212 COLOR= i; PLOT 10,35; GOTO 
1300 


31.39; COLOR= 2: PLOT 32.37; 
PLOT 33,37; COLC«= 13; PLOT 
32,39 


1137 rnnR= i: plot lo, is: goto 


1215 F SU<N( 15,35) = 1 THEN COLOR= 


1308 


13; PLOT 15,35: GOTO 1300 


continued on page SO 



SoftSide DECEMBER, 1980 



2J 



ON-LINE SYSTEMS 

HI-RES ADVENTURES 

For 48K Apple II and Apple Plus 
MACHINE LANGUAGE 




BOTH ADVENTURES 
CAN BE SAVED! 

#1 

Mystery 
House 

$24.95 on disk 



You are transported to the front lawn of a large, old Victorian 

fiouse. Upon entering the house you find yourself enmeshed in 

murder, mystery, and intrigue from which you cannot escape until 

you solve the puzzles. One by one your friends are being murdered 

and it is up to you to find out who the killer is and why he is bent on 

mayhem. But watch out' The killer |ust might find you first. As you 

explore the house you will encounter puzzles to solve and hazards 

which must be overcome. The secret passageway might lead you to 

the answer. 

"Over 100 Hi-Res pictures for playing and watching your 
adventure' 

"All rooms in the house appear in fiill Hi-Res graphics, complete 
with objects you can carry, throw, drop, or ">'^.'^ 
"Speak to the computer in plain English — over 300 words' 

#2 The 
Wizard 
and the 
ncess 

$32.95 on disk 



A princess in distress! Only you can rescue her from the clutches 
of an evil wizard and save her life. But to find the wizard and his 
castle, you must first cross deserts, mountains and oceans to reach 
an island, encountering strange beasts along the way. You will have 
to learn magic, navigate at sea, and search for buried treasure. This 
epic game should provide months of pleasure. 

•Hundreds of Hi-Res pictures! 

"Full 21 color Hi-Res graphics! 
* By far the most ambitious graphics game ever written for the Apple. 

The Software Exchange 

6 South St., IVlilford, NH 03055 
ORDER TOLL-FREE: 1-800-258-1790 
(In NH call 673-5144) 






STAR 
TREK 




ALL NEW VERSION! 

Now with Sound Capability 
and Increased Speed of 

Execution. 

You are in command of the 

starship Enterprise and her 

complement of 371 officers 

and crew. You must enter 

and explore the Omega VI 

region of the galaxy with its 

192 quadrants containing star 

systems and planets (a few of 

which are habitable). 

Astronomical hazards such as 

pulsars, Class stars, and 

black holes are known to be 

present in the region, Klingon 

battle cruisers are also 

present, so the utmost care is 

needed. 

Star Trek 111,5 includes: 

playboard 8 by 3 by 3 

quadrants; weapons system 

of Phasers and Photon 
Torpedos; Warp and Impulse 
power systems; Science and 
Ship's computers; Long and 

Short Range sensors; 
Damage Control and Status 
reports; and 20 Klingon battle 
cruisers, and 100 stars, 
planets, black holes, and 
pulsars. 
Available on Digital 
Cassette for Level II, 
16K $14,95 

The 

Saitware 

Exchange 

6 South Street, Milford, NH 03055 
TO ORDER TOLL-FREE: 

1-800-258-1790 

(In NH call 673-51')4| 





22 



SoftSide DECEMBER, 1980 



SAY YOHO 




by Scott Adams 

WHOOPS! I think I goofed. . . In 
October, you may remember, I 
promised to discuss how to put my 
adventures onto Stringy Floppy in 
the next issue (November). Well, 
back in September, we were 
exhibiting at the Washington 
Personal Computer Show (Boy, 
that's a story in itself!) and Mark 
P. of SoftSide came up and asked 
if column #2 of "Say Yoho" was 
ready. Unfortunately, I hadn't 
realized that it would be needed 
before the end of September, so I 
told Mark I would write it there at 
the show. (P.S.- This column is 
being written two days before the 
Chicago show, so you can leave 
your knives back in New 
Hampshire, Mark!)*The thing was 
I had forgotten I'd promised to 
discuss the Stringy Floppy version, 
and so here it is now. 

The Exatron Stringy Floppy is a 
popular alternative to slow-loading 
cassette tapes. It uses almost no 
user RAM in its operation. But 
since it does use some memory. 



I've developed the following 
procedure to put TRS-80 version 
8.2 of my adventures to Stringy 
Floppy. (Properly done, an 
adventure tape which takes five 
minutes to load from a cassette 
will load in 15 seconds from 
wafer.) 

1) Power TRS-80 on. 

2) Answer "Memory Size" with 
22738. This will put the BASIC 
stack inside the adventure 
interpreter in a place where it can 
do no harm. That is inside of a 
large 255 byte data buffer which is 
used when the adventure saves a 
game to cassette. This way we can 
force the Stringy Floppy to also 
use this area of memory for its 
pointers, and not wipe out the 
adventure! 

3) Load the adventure tape 
normally through: SYSTEM 

ADVENT 

4) Now type /1 2345 to turn on the 
Stringy Floppy. This will put the 
system back into BASIC. 

5) Put an initialized - 251 or 
longer - wafer into your Stringy 
Floppy. 



6) Type: @SAVE1, 17152,15614 to 
save your wafer. Note: A verify 
error will occur, but this is normal 
due to the fact that Stringy 
Floppy's data pointers are actually 
within the area it is saving! 

To load the wafer, we do the 
opposite: MEMORY SIZE? 22738 
SYSTEM 
♦? /I 2345 
@LOADl 
SYSTEM 
*? /17232 

Note: The auto load will not 
function, but you can easily start 
adventure as shown. Note also all 
save games will still require the 
cassette player, but will only need 
15 seconds. 

Next month a look at what I 
think makes a good (or bad) 
adventure. 

YOHO 

. . .Suddenly I'm elsewhere. . . 

* (Note - Our astute (hear, hear!) 
copy editor caught the omission 
and quicklv axed Scott's reference 
to the Stringy Floppy from the 
October issue. So there! -MP) 



^Al 





m 



c 



[1 



ATARI" SOFTWARE 

by Tim Hays 

Construct data base 
by entering geometric 
coordinates, then 
view fronn different 
angles. Four 
programs. Low 
resolution requires 
8K, high resolution 
16K, demonstration 
program, 24K. Atari 
400 or 800. iii 

$29.95 Jll 

TO ORDER TOLL FREE 

1-800-258-1790 

(In NH call 673-5144) 

/ebree/ 
compuliA9 



SoflSidc DECEMBER, 1980 



23 




The Sahwi/are Exchange 

fTk^rket Bosket 

TO ORDER TOLL FREE 

1-800-258-1790 



SOFTWARE 
FOR THE 
TRS-80 



(In NH call 673-5144) 



MMES 

Adventuras on tape 

by Adventure International (Scott Adams) 

Level II, 16K $14.95 

Ctioose one! 

Adventureland: Magical beings, perils and puzzles! 

Fun House! Takes all your brains to get past the gate! 

Ghost Town What happens in the Saloon alter Darl<? 

Mission Impossible: Foil saboteur, save reactor! 

Pirate's Cove: Clue in a blood-soaked book' 

Pyramid ot Doom: Watch out for the nomad! 

Strange Odyssey: Ruins of an alien culture? 

The Count: Protect your neck! Who lives here? 

Voodoo Castle: Remove Count Cristo's curse! 
Adventures on disk 

by Adventure International (Scoft Adams) 
Three-Adventure combinations $39.95 

1) Adventureland, Mission Impossible, Pirate's Cove. 

2) Strange Odyssey, Tlie Count, Voodoo Castle. 
Adventure Sampler 

by Adventure International (Scott Adams) 
Mini-version of Adventureland. serves as introduction. 

Level II. 16K $6 95 

Balrog Sampler 

by Adventure International 

32K.2Disks $35.00 

Datestones ol Ryn 

By Automated Simulations 

Cassette $14.95 

Disk $19.96 

Hollfire Warrior (ApsHal Sequol) 
by Automated Simulations 

Casselfe $24.95 

Disk $29.95 

Journey to the Center of the Eartit 
by Ramware - Greg Hassett 

Levelll. 16K $7.95 

Lost Dutchman's Gold 
by Programmers Guild 

Level II. 16K $14.95 

Morioc's Tower 

by Automated Simulations 

Cassette $14.95 

Disk $19.95 

Original Adventure 

by Microsoft, as played on PDP— 10 

Disk, 32K $29.95 

Rescue at Rigel 

by Automated Simulations 

Cassette $19.95 

Disk $24.95 

Stone of Sisyphus 

by Adventure International 

Disk.32K $35.00 

Tempie of Apshai 

by Automated Simulations 

Cassette $24.95 

Disk $29.95 

Twas the Night Befora Christmas (Kids) 

by Adventure International 

16K Cassette $12.95 

AMUSEMENTS 

Air Raid 

by Small Systems Sotlv^are 

Level I or II. 4K $9.95 

Amazin' Mazes 

by Ramware - Robert Wallace 

Levelll, 16K $9.95 

Android Nim 

by Ramware • Leo Christopherson, with sound 

Level II, 16K $14.95 

Barricade 

by Small Systems Software 

Machine Language $9.95 

Baa Wary 

by Ramware - Leo Christopherson. with sound 

Levelll. 16K $14.95 

Chailenga 

by Ramware - Richard Taylor, word game (with sound) 

Level II, 16K $9.95 

24 



Concentration 

by Ramware - Randy Hawkins 

Cassette $7 95 

Dr. Chips 

by Adventure International 

Cassette $14.95 

Duol-N-Oroids 

by Acorn Software (Leo Christopherson) 

Cassette $14.95 

Disk $20.95 

Gaiaxy invasion 

by Big Five Software 

Levelll. 16K $14.95 

interactive Fiction 

by Adventure International (Robert Lafore) 

Local Call for Death 

Disk $19 95 

Six Micro Stories 

Disk $14.95 

Two Heads of the Coin 

Disk $19.95 

Invasion 

by Ramware - Chris Freund 

Level II. 16K $9.95 

Disk $14.95 

Kamli(aze 

by Ramware - Russel Starkey 

Levelll, 16K $7.95 

Life Two (with sound) 

by Ramware - Leo Christopherson. with sound 

Level II, 16K $14 95 

Olympic Decathlon 

by Microsoft 

Cassette $24.95 

Disk $24.95 

PInball 

by Acorn Software 

Cassette $14.95 

Disk $20.95 

PR Dogfight 

by Ramware - David Bohike 

Levelll. 16K $7.95 

Snake Eggs 

by Ramware ■ Leo Christopherson, with sound 

Levelll. 16K $14.95 

Super Nova 

by Big Five Software 

Levelll. 16K $14.95 

TRS-80 Opera Theatre 

by Ramware - Richard Taylor, Magnificent Sound 

Levelll, 16K $9 95 

Tunnels of Fahad 

by Adventure International 

Cassette $9.95 

BOARD GAMES 

Bridge Challenger 

by Personal Software 

Levelll, 16K $19.95 

Cribbage 

by Ramware - Roger W. Robitaille 

Levelll, 16K $7.95 

Fastgammon 

by Ouallly Software 

Levelll. 16K $19.95 

Mean Checkers Machine 
by Ramware - Lance Micklus 

Levelll, 16K $9.95 

Disk $14.95 

Monty Plays Monopoly 

by Personal Software (old ROM only) 

Cassette $24.95 

Disk $27.95 

Pantominoes 

by Ramware - James Garon 

Levelll. 16K $7.95 

Sargon 2 (Chess) 

by Hayden (Dan & Kathe Spracklen) 

Levelll, 16K $29.95 

DiSk,32K $34,95 

SoftSide DECEMBER. 1980 




HOURS: 

MONDAY - FRIDAY 

9 AM to 9 PM 

SATURDAY 

11 AM to 3 PM 

'EASTERN TIME 



EDUCATIONAL GAMES 

Nine Games for Preschool Children 

by Ramware - George Blank 

Levelll, 16K $9,95 

SIMULATIONS 

Airmail Pilot 

by Instant Software 

Cassette $7.95 

Air Traffic Controller 

by Sensational Software $9.95 

B-1 Bomber 

by Avalon Hill $15.00 

Computer Bismarcit 
by Strategic Simulations 

Cassette $49.95 

Disk $59.95 

End Zone II 

by Ramware - Roger W. Robitaille 

Levelll, 16K $9.95 

Midway Campaign 

by Avalon Hill $15.00 

North Atlantic Convoy 

by Avalon Hill $t5.00 

Pigskin (Football) 
by Acorn Software 

Levelll. 16K $9.95 

Planet Miners 

by Avalon Hill $15.00 

Pork Barrel 

by Ramware ■ George Blank 

Levelll. 16K $9.95 

Santa Paravia 

by Instant Software 

Levelll. 16K $7.95 

SPACE GAMES 
Orion Series 

Invasion of Orion 

by Automated Simulations 

Cassette $19.95 

Disk $24.95 

Starfioet Orion 

by Automated Simulations 

Cassette $19.95 

Disk $24.95 

Simutek i 

by Adventure International 

Disk $19.95 

Space Battles 

by Level IV 

Level II, 16K $14.95 

Disk.32K $19.95 

Star Trek 3.S 

by Adventure International (Lance Micklus) 

Levelll. 16K $14.95 

Time Trek 

by Personal Software 

Levelll. 16K $19,95 

X-WIng Fighter il 

by Ramware - Chris Freund 

Levelll, 16K $9,95 

STRATEGY GAMES 

Galactic Empire 

by Broderbund Software 

Levelll, 16K $14.95 

Galactic Revolution 

by Broderbund Software 

Level II. 16K $14.95 

Galactic Trader 

by Broderbund Software 

Level II, 16K $14.95 



Galactic Empire, Revolution, Trader 

by Broderbunti Software 

Disk, 32K $39.95 

Kriegspiel 11 

by Ramware - Ron Potkin 

Level II. 16K $14.95 

Slag 

by Adventure International 

Cassette $14.95 

Talpan 

by Ramv/are - Art Canfil 

Level II. 16K $9.95 

Tycoon 

by Ramware - David BohIke 

Level II. 16K $7.95 

Up Periscope 

by Ramware - Ron Potkin 

LeveHI. t6K $14.95 

Warpath 

by Ramware - Ron Potkin 

Level II. 16K $14.95 

BUSINESS 

Accounts Receivable (witli Invoicing) 

by Ramware - Stephen Hebbler 

3 disks, 2 manuals. 2 drives, lineprinter $69.95 

Basic Statistics 

by Ramware - Steve Reisser 

Level II. 16K $9.95 

CCA Data Management System 

by Personal Software 

Ready for transfer to disk, with manual 

Tape $74.95 + $2 

Column Calculator 

by David Gray (Ramware) 

16K. Disk $39.95 

Dynamic Data Base 

by Ramware - Ken KnechI 

h^anual & 3 Programs 

Disk.32K $39.95 

Histograph/Scattergram 
by Ramware - Gary Breschini 

Level II. 16K $9.95 

Inlinite Business 
by Racet Computes 

16K Cassette $29.95 

Inventory 'S' 

by Ramware - Roger W. Robitaille 

Levelll, 16K cassette $24.95 

32Kdisk. without invoicing $39.95 

48K disk with invoicing $59.95 

Inventory System 11.3 
by Ramware - M Kelleher 

Improved version $79.95 

Mall List II 

by Ramware - SBSG 

32KdiSk $49.95 

Options Monitor 

by W S Kutleuer (Ramware) 

16K. Disk $29.95 

Payroll 

by Ramware - Stephen Hebbler 

32Kdisk $39.95 

Small Business Bookkeeping 
by Ramware - Roger W Robitaille 
Level II. 16K. with journal 

Disk $36.95 

Cassette $31.95 

Without journal 

Disk $29.95 

Cassette $24.95 

Special Delivery with Extract 
by Quality Software Dislributors 

Disk $125.00 

Superscript 

by Acorn Software 

32KOisk $29.95 

SPECIAL PURPOSE 

Electronic Assistant 

by Ramware - John Adamson 

Levelll. 16K $9.95 

Ham Radio 

by Ramware - M. Kelleher 

Levelll, 16K $9.95 

32K disk, (advanced version) $24.95 

muMATH 

by Microsoft 

32KDisk $74.95 + $3 

Stat Pal 

by Bruce Chalmer (Ramware) 

32-48K Disk $29.95 

WORD PROCESSOR 

Scripsit 

by Radio Shack 

32K Cassette $65.00 + $2 

ll^ttsV $95.00 + $2 

PERSONAL 

Amateur Astronomy 

by Ramware - George Hall 

Handbook 

Cassette $14.95 



Financial Planner 

by Hayden 

Disk $74.95 +$2 

Home Financial Management 

by Ramware - M. Kelleher 

Levelll, 16K $9.95 

I Ching/Biorhytltms 

by Ramware ■ J.T. Philips 

Levelll, 16K Cassette $9.95 

Interlude 

by Synergistic Software 

Cassette $16.95 

Disk $19.96 

Keyboard 80 

by Ramware - John Adamson 

Levelll, 16K $9.95 

Magic Paper Calculator 

by Ramware - Russell Starkey 

Levelll. 16K $14.95 

Periodical Cross Reference 
by Ramware - Dave Stambaugh 

Levelll. 16K $14.95 

32Kdisk $19.96 

Personal Finance 

by Ramware - Lance Mtcklus 

Levelll. 16K $9.95 

Roots 

by Ramware - Bill Sholar 

32Kdisk $19.95 

RPN Calculator 

by Ramware - Russell Starkey 

Levelll. 16K $9.95 

Secrets of the Tarot/Cards of Fortune 
by Ramware - J T. Philips 

together $9.95 

Soft Music 

by Computer Light & Sound 

16K Cassette $24.95 

Typing Tutor 

by 80 US 

Levelll, 16K $19.95 

UTILITIES 

Editor Assembler + 

by Microsoft 

Level II. 16K Cassette $29.95 

Automated Disk Directory 
by Ramware - George Blank 

32K disk, (on Cassette) requires NEWDOS $14.95 

BUNK 

by Racet Computes 

32KDisk $25.00 

Boss 2.1 
by Soft Sector 

Level II. 16K Cassette $29.95 

COMPROC Command Processor 
by Racet Computes 

Level II, 16K. Cassette $19.95 

Disk Sort/Merge 
by Racet Computes 

32K Cassette $75.00 

DOSORT 

by Racet Computes 

32K or 48K Cassette $34.95 

File Manager 80 

by Nepenthe 

32Kdisk $49.95 

LANGUAGE 

API 80 3.0 

by Ramware - Phelps Gates 

Disk. 32K. Deluxe Version $39.95 

Level II. 16K, reduced features, no course or book $14.95 

APL 80 Book, separately $16.96 + $3 

Assembly Language Development System (A.L.D.S) 
by Microsoft 

32K. 2 Disks $95.00 + $2.50 

FORTRAN 
by Microsoft 

32K. 2 Disks $95.00 + $2.50 

FORTRAN plus Assembler $175.00 + $5 

Level III BASIC 

by Microsoft $49.95 

BOOKS 

APL - An Interactive Approach 

byGllmanand Rose (J. Wiley & Sons) $16.95 + $3 

Background Math tor a Computer World 

by R. Ashley (Wiley) $7.95 + $1 

BASIC Handbook 

BV Dr. David A. Lien (Compusoft) $14.95 + $1 

BASIC for Home Computers 

byAlbrecht, Finkel. & Brown (Wiley) $7.95 +$1 

Calculations with BASIC 

by Sceibi Publications $8.95 + $1 

Chess & Computers 

by David Levy (CPS) $9.95 + $1 

Consumer's Guide to Personal Computing & Microcom- 
puters 
byS. Freiberger & P. Chew (Hayden) $8.95 + $1 

SoftSide DECEMBER, 1980 



CP/M Summary Guide 

by Rainbow Associates $4.95 + $1 

Learning Level II 

by Dr. David A. Lien (Compusoft) $15.95 + $1 

Learn Microcomputers 

by Sceibi Publications $14.95 + $1 

Microcomputer Potpourri 

by Sceibi Publications $3.95 + $1 

PASCAL An Introduction to Methodical Programming 

by W.Findlay& D.A.Walt (CSP) $12.95 + $1 

Pathways through the ROM 

by SoftSide Publications $19.95 + $1 

Personal Information Management System 

by Sceibi Publications $11.95 + $1 

Sargon Handbook 

by Dan & Kathe Spracklen (Hayden) $15.95 + $1 

Secret Guide to Computers 

by Russ Walters (Sceibi Publications) $5.95 + $1 

Structured BASIC & Beyond 

by W. Amsbury (CSP) $10.95 + $1 

Take My Computer, Please! 

by Sceibi Publications $5.95 + $1 

Ten Easy Pieces 

byH. Sagan&C. Meyer (Hayden) $7.95 + $1 

The Little Book of BASIC Style 

by John Nevision (Addison Wesley) $5.95 + $1 

TRS-80 Assembly Language Programming 

by William Barden Jr. (Radio Shack) $3.95 + $1 

TRS-80 BASIC 

byAlbrecht, Inman, &Zamora (Wiley) $8.95 +$1 

TRS-80 Disk and Other Mysteries 

by Harvard Pennington (I.J. G. Inc.) $22.95 + $1 

TRS-80 Interlacing 

by Jonathan Titus (Howard W. Sams Inc.) $8.95 + $1 

Understanding Microcomputers 

by Sceibi Publications $9.95 + $1 

Z-80 and 8080 Assembly Language Programming 

by Kathe Spracklen (Hayden) $7.95 + $1 

Z-80 Instruction Handbook 

by Sceibi Publications $6.95 + $1 

Z-80 Software Gourmot Guide & Cookbook 

by Sceibi Publications $1 5.95 + $1 

SUPPLIES 

Cassettes: 

C-10 $6.95 + $1 

C-20 $7.95 + $1 

Diskettes: 
Dysan (premium quality) 

Box of 5 $29.95 + $1 

BASF 

Box of 10 $34.95 + $2 

Case of too $299.00 + $3 

Scotch 

Box of 10 $39.95 + $2 

Diskette Storage Box $5.00 + $1 

Floppy Armor* 

Protective envelopes for shipping floppy disks 

5-pack $4.95 + $1 

Floppy Disk Rolllls $7.95 

Floppy Disk Savors $14.96 

SoHSide Vinyl Binders $4.95 + $1 

Tape Recorder Allignment Kit $9.95 + $1 

File Utility 
by Ramware - 

32K Disk $29.95 

Floppy Disk Diagnostic 

by Ramware • Dave Stambaugh 

Disk with manual $24.95 

General SUBFAC 
by Racel Computes 

16K - 48K Cassette $24.95 

Infinite BASIC + D 

16K Cassette $49.95 

KVP 

by Ramware - Lance Micklus 

Cassette #232 $14.95 

Disk $19.95 

Level I in Level II 
by Apparat 

Levelll. 16K $14.95 

Micro Toxt Editor 

by Ramware - Don Coons 

Levelll.4Kor16K $9.95 

NEWDOS 

by Apparat $49.95 

NEWDOS + 

by Apparat $99.95 

NEWDOS 80 

by Apparat $149.95 

Remodel & Preload 
by Racet Computes 

1 6K-48K Cassette $34.95 

RSM2 

by Small Systems Software 

Level 11, 16K $26.95 

RSM2D 

by Small Systems Software 

Disk for 16-48K on one tape $29.95 

25 



Spool 

by Ramware - Robert T. Hepp 

Will print on ASCII file to a parallel line printer at the same 
time you are using your computer tor another program. For 
32K disif systems only. Will NOT work with NEWDOS (2.3 
or VTOS 3.Dol<ay). 

Disk $24 95 

STAD 

by Ramware - Paui van tfer ffj^f 

Trace and Debug monitor tor tape and disk systems 

16K, 32K, and 4eK on one tape $24.95 

ST80 Smart Terminal 

by Ramware - Lance Micklus 

Level II. 16K $49.95 



ST80D Smarter Terminal 

by Ramware - Lance Micklus 

Disk $79.95 

ST80III J150.00 

ST80-UC Dedicated to THE SOURCE 

by Ramware - Lance Micklus 

Level II. 16K $24.95 

System Copy 

by Ramware ■ Kalman Bergen 

Level II, 16K $9.95 



T-Short 

by Web Associates 

Level II, 16K $9.95 

Tiny Comp: A BASIC Computer In BASIC 

by Ramware • David Bohike 

Cassette $19.95 

Disk $24.95 

VTOS 4.0 

by Adventure International $99.95 

Z80 Zap Command 

by Quality Software 

Disk $29.95 




Ppple Stood 



TO ORDER 

TOLL FREE (orders only) 

1-800-258-1790 

(In NH call 673-5144) 



KEY 



I • Integer BASIC 

M - Machine Language 

(Apple II or Apple 11+) 
A - Applesoft 
ROM - Apple II Plus or Applesoft card only 



Your Apple II* software market from The Software Exchange 



ADVENTURELAND 

Adventure International 

Cassette/24K/M S14.95 

ADVENTURE COMBINATION #1 

Adventure international 

Adventureland, Pirate's Cove, Missions Impossible, 

Disk/24K/M $39.95 

ADVENTURE COMBINATION #2 

Adventure International 

Voodoo Castle. The Count. Strange Odyssey 

Oisk/24K/M $39.95 

ADVENTURE COMBINATION #3 

Fun House. Pyramid, Ghost Town 

0isk/24K/M S3995 

ADVENTURE SAMPLER 

Adventure International 

Cassette/24K/M $6,95 

AIR TRAFFIC CONTROLLER 

Sensational Software 

Cassetle/16K/M $9,95 

AMBUSH 

Strategic 

Disk 48K/A ROM $59,95 

ANDROID NIM 

Ramware 

Disk/24K/A ROM 317,95 

APPEN I TEXT EDITOR 

Muse 

Casselte/16K/I $17.95 

APPILOT II 

Muse 

Oisk/48K/M S9995 

APPLE 21 

Soflape 

Cassette/24K/I $15.95 

APPLELIST'NER 

Soflape 

Cassette/ 16K/I $19.95 

APPLETALKER 

Soflape 

Cassette/16K/I $15.95 

ASTEROIDS IN SPACE 
Quality Software 

Disk/32K/M $1995 

B-1 BOMBER 
Avalon Hill 

Cassette/16K/I 515.00 

BASEBALL 
Muse 

Cassette/16K/A ROM S14.95 

BEST OF BISHOP 
Soflape 

Cassette/16K/I $39.95 

BEST OF MUSE 

Muse 

Disk/ 16K/I S39.95 

BISMARCK 

Strategic 

Disk 48K/A ROM S59.95 



26 



BRIDGE CHALLENGER 

Personal Software 

Casselte/16K/M $19.95 

CCA DATA BASE MANAGER 

(Works in conjunction with Visicalc) 

Personal Software 

Disk/32K/A $99.95 + $2 

COMPU-READ 

Edu-ware 

Disk/48K/A $24.95 

COUNT ADVENTURE 

Adventure International 

Casselle/24K/M $14.95 

DATA FACTORY 
Micro-Lab 

Disk/48K/A $100-00 

DATE STONES OF RYN 
Automated Simulations 

Cassette 32K/A R0M/48K/A $14.95 

Disk/48K/A ROM $19.95 

DESK TOP PLAN 

Personal Software 

Disk/32K/M $9995 

DOGFIGHT 

Micro Lab 

Disk/48K/M $29.95 

DR. MEMORY 

Muse 

DiSk/32K/l $49,95 

DUNGEON CAMPAIGN 
Synergistic 

Cassette/16K/I $14.95 

Disk/32K/I $17.50 

EDITOR ASSEMBLER 

Hayden 

Disk $49.95 

ELECTRIC CRAYON 

Muse 

Cassette/16K/M $17.95 

ENGINEERING MATH TAPE I 

Hayden 

Cassette/24K A/16K A ROM $14.95 

ESCAPE 

Muse 

Cassette/16K/I $12.95 

FASTGAMMDN 

Quality Soltware 

Cassette/16K/M S1995 

FORTE 

Soltape 

Cassette/16K/M $1995 

FORTH II 
Sottape 

Disk $49.95 

GALACTIC EMPIRE 

Broderbund Software 

Di5k/48K/A $24.95 

SoflSide DECEMBER, 1980 



GAUCTIC REVOLUTION 

Broderbund Software 

Disk/48K/A $24.95 

GALACTIC TRADER 

Broderbund Software 

Disk/48K/A $24.95 

GENERAL MATH TAPE I 

Hayden 

Cassette/24K A/16K A ROM $14.95 

GHOST TOWN ADVENTURE 

Adventure International 

Cassette/24K/M 514.95 

GLOBAL WAR 

Muse 

Cassette/32K/A ROM $17.95 

Disk/48K/A ROM $24.95 

HELLFIRE WARRIOR 
Automated Simulations 

Disk /48K/A ROM $29.95 

HIGHER GRAPHICS 

Synergistic Software 

Disk/32K/I $24.95 

HIGHER TEXT 

Synergistic Software 

Disk/24K/M 535 00 

HI-RES MYSTERY HOUSE 

On Line Systems 

Disk/48K/M 524 95 

INTERLUDE 

Cassette 16K/1 516.95 

Disk/32K/I $19.95 

INVASION OF ORION 
Automated Simulations 

Cassetle/3 K/A ROM/48KA 519.95 

Disk 48K/A ROM $24.95 

LOST DUTCHMAN'S GOLD 

Programmers Guild 

Cassette/24K/A ROM $14.95 

MAGIC PAINT BRUSH 

MP Software 

Disk 32K/A ROM $29.95 

MAILING LIST DATABASE 

Synergistic Software 

Disk/48K/A $34.50 

MAZE GAME 

Muse 

Cassette/16K/I $12.95 

MICROSOFT ADVENTURE 

Microsoft 

Disk 32K/M $29.95 

MIDWAY CAMPAIGN 

Avalon Hill 

Cassette/16K/I $15.00 

MISSION IMPOSSIBLE 
ADVENTURE 

Adventure International 

Cassette/24K/M $14.95 



MODIFIABLE DATABASE 

Synergistic Software 

Disk/48K/A ROM $79.50 

MONTY PLAYS MOHOPOLY 

Ritam 

Cassette/16K/M $24.95 

Disl</32K/M $27.95 

MORLOC'S TOWER 
Automated Simulations 

Cassette/32K/A R0M/48K A $14.95 

Oisk/48K/A ROM $1995 

MUSIC BOX 
Muse 

Cassette/ 16K/M $12.95 

MYSTERY FUN HOUSE ADVENTURE 

Adventure International 

Cassette;24K/ M $14.95 

NORTH ATUNTIC CONVOY RAIDERS 

Avalon Hill 

Casselte/16K/I $15.00 

NUKE WAR 

Avalon Hill 

Cassette/ 16K/I $15. (» 

ODYSSEY: THE COMPLEAT ADVENTURE 

Synergistic Soltware 

Disk/48K/I $29.95 

PIRATE'S COVE ADVENTURE 

Adventure International 

Cassette/24K/M $14.95 

PLANET MINERS 

Avalon Hill 

Cassette/ 16K/I $15.00 

PORK BARREL 

Ramware 

cassette /24K/ A $9.95 

PROGRAM LINE EDITOR 
Synergistic Soltware 

Disk/24K/M $40.00 

PYRAMID OF DOOM ADVENTURE 

Adventure International 

Cassette/24K/M $14.95 

RESCUE AT RI6EL 
Automated Simulations 

Casselte/32K A R0M/48K A $19.95 

Disk 48K/A ROM $24.95 

SARGON II 
Hayden 

Cassette/24K/M $29.95 

Disk/24K/M $34.95 

SCREEN MACHINE 
Sottape 

Cassette $1995 

Disk $29.95 

SPACE WAR/SUPER INVASION 
Sensational Software 

Disk $2995 

STARFLEET OF ORION 
Automated Simulations 

Cassette/16K/I .■ $1995 

Disk 32K/I $24.95 



• No sales tax. 

• All C.O.D. or special 
delivery orders are a minimum 
of $5.00 for special handling. 

P.O. Box 68, Milford, NH 03055 
TOLL-FREE (in NH call 673-5144) 
1-800-258-1790 



STIMUUTING SIMULATIONS 
Hayden 

$5.50 + $1 

STRANGE ODYSSEY ADVENTURE 

Adventure International 

Cassette/24K/M $14 95 

SUPER APPLE BASIC 

Hayden 

Disk $39,95 

SUPER INVASION 

Sensational Software 

Cassette/32K/M $19.95 

SUPER TEXT II 
Muse 

Disk/48K/M $150 00 

TEMPLE OF APSHAI 

Automated Simulations 

Disk 48K/ A ROM $2995 

TEXT EDITOR 

Periph Unl 

Disk/4«K/A ROM $64 95 

THE WIZARD AND THE PRINCESS 

On Line Systems 

Disk/48K/M S32.95 

THREE-D 
MP Soltware 

Disk/48K/A ROM $29.95 

THREE MILE ISUNO 
Muse 

Disk/4«K/I S39 95 

U-ORAWI 
Muse 

Cassette/ 16K/M $17 95 

U-DRAWII 

Muse 

Disk/32K/M $3995 

UNCLE SAM'S JIGSAW 

Casselte/32K/A ROM S1295 

VISICALC 

Personal Software 

Disk /32K/M S14995 * S2 

VOICE 

Muse 

Disk/48K/ M $39 95 

VOODOO CASTLE ADVENTURE 

Adventure International 

Cassette/24K/M $14.95 

WILDERNESS CAMPAIGN 

Synergistic Software 

Cassette/48K/I $17 50 

Disk/4«K/I S19 95 

WILDERNESS S DUNGEON 
CAMPAIGNS 
Synergistic Soltware 

Disk/48K/I $32.50 

WINDFALL 
Edu-Ware 

Cassette/32K/A S14 95 

Disk/32K/A $1995 



For more detailed descriptions of 
our software and supplies send 
for the TSE Catalogue - its FREE! 
Write or call today for your copy. 
All prices are subject to change 
without notice. The Software 
Exchange is not responsible for 
typographical errors, including 
prices. 



? ? MOVING ? ? 

TO CORRECT OR CHANGE YOUR 

ADDRESS ATTACH LABEL FROM YOUR 

LATEST COPY HERE AND PRINT NEW 

ADDRESS BELOW: 



\ 



HaTTift __ 
Address 
City 



.State. 



-Zip. 



Nine Games 
for Pre-School 
Children 



Even pre-schoolers deserve a 
shot at the wonders of 
microcomputing. With these nine 
games, they not only will have a 
chance to tickle the keyboard, but 
learn letters and numbers to boot. 
And if that isn't enough, they'll 
have a good time doing so. What 
more could a parent ask for? Here 
are education and entertainment 
for the very young in a single 
package! 

Level II cassette $9.95 




\ 



MAIL TO: SoftSide Publications, P.O. Box 68, Milford, NH 03055 



SoftSide DECEMBER, 1980 



/ 



TheSaih^are 
Exchange 

6 SouthStreet. MiHoid, NH 03055 



TO ORDER TOLL FREE 

1-800-258-1790 



lin NH call 6^3 SI44i 




27 



What to do While 




by Sherry M. Taylor 

In the September 1979 issue of 
SoftSide magazine, George Blank 
said, "For many people the 
decision to go disk comes when 
they run out of things to do while 
the 16K program is loading. . .from 
tape." 

Admittedly, the cassette is s-l-o-w, 
but unless the TRS-80 is used for a 
business application where time is 
money, I just don't see what 
everyone is so uptight about. I 
have had wonderful reliability 
from my CTR-80 (especially since I 
discovered the 

demagnatizer/headcleaner) and 
really have no desire to go to disk. 
Just because the cassette is slow is 
no reason to go off half-cocked 
and get a disk system. 

I have found that as a mother of 
two children under the age of 7, 
there are plenty of things to do 
while the program loads. Listed 
below are some suggestion of 
activities to keep you occupied: 

(1) Go make two peanut 
butter and jelly sandwiches. 
Kids need to eat too. 

(2) Put a chicken into the 
crock pot for supper. Most 
folks don't like raw dead bird 
to eat. If the bird has to be 
killed, plucked and dressed, 
all the better. It will take 
more time. 

(3) Check the mail for a 
new issue of SoftSide. If that 
hasn't arrived, see if Playboy 
(or Playgirl) has. 

(4) Sort the socks for your 
husband/wife. It will take 
more time if you are color 
blind, but this isn't a 
requirement. (Wish someone 
would write a computer 
program to sort socks.) 

(5) Watch the latest episode 
of General Hospital. See if 
Luke and Laura have been 
killed yet. If they have been, 
switch to Texas! (For prime 
time computerists, check out 
Dallas. Who did shoot 

J. R.?) 

(6) Put the kids into the 
bathtub for their evening 

28 



the Program Loads 




bath. 

(7) Plant a garden in the 
dirt left after the kids' 
evening bath. 

(8) Break up the fight 
between the kids. 

(9) Break up the fight 
between the kids and your 
spouse. Explain to your 
spouse that he/she is too old 
to play with toy cars. 

(10) Defend yourself from 
attack for calling your spouse 
"old." 

(11) Go turn on the lawn 
sprinkler. The grass is dying. 
Talk to your grass. Give it 
encouragement to grow. 
Curse your weeds. Maybe 
they'll die. 

(12) Take off your wet 
clothes you ended up with 
while turning on the water 
sprinkler. 

(13) Go to the bathroom. 
Never pass up an opportunity 
to go to the bathroom. You 
never know when you'll get 
another chance. 

(14) Go get something to 
eat. If you are on a diet, 
count the things you can't 
eat. 

(15) Play a game of 
"Monopoly." 

(16) Work the new SoftSide 
crossword puzzle. 

(17) Search for the answers 

SoftSide DECEMBER. 1980 



to the crossword puzzle. 

(18) Put a load of laundry 
in the washing machine. 
Access to a wringer washer is 
ideal, but not mandatory. 

(19) Change the baby's 
diaper. If you're using cloth 
diapers, all the better. They 
have to be rinsed out. 

(20) Call the plumber to get 
the diaper out of the 
plumbing. You didn't hold it 
tight enough and flushed it 
down. 

(21) Type a letter to the 
charge card computer about 
the overcharge on your bill. 
Do not use an electric 
typewriter or correction tape. 
Keep it polite. 

(22) Put dishes into the 
dishwasher. Wash them in 
the sink first. 

As you can see, there are plenty 
of things to do while the program 
loads from tape. I'm sure if you'll 
use your imagination you will 
come up with more. So, I guess 
speed is in the eye of the beholder! 
I just don't know what all the f\iss 
is about. 

I HAVE noticed though, that 
the children who come here to play 
with the computer are impatient 
for a program to load. I guess they 
have run out of things to do. 
Maybe I should get a disk system ^ 
for them CJJ 



y-mispo laCi7 



systems 
that work 




THE 

DATA 

FACTORY 



YOU CAN'T WORK HARDER, 
SO WORK SMARTER 

This program is important to 
you. We at Micro Lab liave 
tested them all. "THE DATA 
FACTORY" by William 
Passauer, is the most powerful 
data base system yet 
developed. It will provide instant 
accessibility to your records 
and files which you can then, 
rearrange in new combinations 
to give you information in 
seconds to make quick and ac- 
curate decisions. 

OUR GUARANTEE 

THIS PROGRAM WILL WORK. 
Micro Lab chooses to represent 
a very select group of profes- 
sional programmers that meet 
our high standards for quality. 
Countless hours have been 
spent in our labs to insure these 
claims to you, and we back them 
with a contract to your dealer. 
Your program can also be up- 
dated if any new changes to im- 
prove this program are made. 

A UNIVERSAL SYSTEM 

You may use "THE DATA FAC- 
TORY" at home or at work. Set 
up: Inventories, Mailing Lists (a 
printer is needed for mailing 
labels); Sales records; Accounts 
payable or receivable; Budgets; 
Library, recipe, or phone direc- 
tories; Appointment calendar; 
Notices of subscriptions, 
license or warranty dates; Work- 
ing or shopping lists, and many 
other applications that you will 
discover. All of the above can be 
accomplished from this one 
disk oriented program. No need 
to have separate costly pro- 
grams for each purpose. With all 
the data on a disk, you can 
manipulate the information 
more easily and efficiently. 



MOST ADVANCED SYSTEM 

The latest breakthroughs in a 
data base system have been in- 
corporated into Bill Passauer's 
program. The unique new 
feature that sets it apart from all 
others is its complete 
modifiability. You may rear- 
range your data, removing part 
of it from the original disk, and 
form a new data base without 
reentering the data again. Add, 
delete, replace, or rearrange and 
compare fields or data at any 
time. Do an incredible 20 level 
search. Use it to check sales by 
region, sort clients by size of ac- 
counts, and do close to 
everything that other data bases 
can. 

EASILY LEARNED 

Any one can use it. The program 
prompts you as it runs. The easy 
to follow manual leads you 
through the set up of your data 
base and all the features. "The 
Data Factory" is organized in 
nine program modules. Only the 
module being used is loaded in- 
to memory to manipulate data, 
rather than the entire program. 
This saves memory for 
manipulating data rather than 
for program storage. There are 
so many other "common sense" 
features that set it apart from all 
others. 



REQUIREMENTS 

"The Data Factory" is presently 
being offered in APPLESOFT 
but will be available in other 
forms of basic shortly. Check 
with your dealer for other soft- 
ware varieties currently being 
handled. You will need 48k and 
Applesoft in ROM. "The Data 
Factory" is as powerful with one 
disk drive as with two. You do 
not lose any of its capabilities 
using only one disk drive. A 
printer is optional. 



FROM A DEALER 

"The Data Factory" is easy to 
use and can truly be called 'a 
friendly system'. We have had 
the most positive feedback from 
our customers. I recommend 
"The Data Factory" to all my 
customers. 

— Marv Clavey 
Computerland of Niles, IL. 



AVAILABLE NOW 

"The Data Factory" is being of- 
fered nationally for the first 
time. It has been marketed and 
tested on a local level and has 
been received with a most en- 
thusiastic response from both 
dealers and users $100.00 



The Sohw&ate Exchange 



m 



TO ORDER TOLL-FREE 

1-800-258-1790 

(In NH call 673-5144) 



SoflSide DECEMBER. 1980 



29 



® 




THE DEVELOPING 

DATA BASE 



Part 4: In search of. . . 

by Mark Pelczarski 

translations by Rich Bouchard and 
Phil Case 

This is the fourth part of a 
tutorial on how to develop your 
own customized data base 
program. The series started in the 
September issue of SoftSide and 
the programs are written for the 
Apple, with Applesoft, the S-80 in 
Level II or Disk BASIC, and the 
Atari 800. 

OVERVIEW 

As promised, this month we 
start our quest for a search routine 
that will make our data base much 
easier to use. This also may be a 
place of decision, for some of you 
may want to use slight 
modifications of the search 
routines to suit your own 
applications. Until now, you 
always had to provide the record 
number of any item to change or 
delete, and the print options 
consisted of all or nothing. Now, 
with the search routine we'll be 
incorporating, all three of those 
options will first be filtered 
through a possible search. 

The structural set-up of the 
program will be changed slightly 
(see Figure 1). If the user chooses 
to change or delete a record, a 
switch will first be set, then a jump 
will be made to the search routine. 
After the search criteria are 
specified (record number, name, or 
whatever. . .) a search will be 
performed and items meeting those 
criteria will be passed to the 
change or delete subroutines, 
depending on the previously set 
switches. The print option is a 
little more tricky. What we did is 
create three separate print 
subroutines. One presents the print 
options (screen or printer) to the 
user, sets the switch mentioned 
above, then calls the search 
routine. The search routine, upon 
finding records that meet the 
specified criteria, calls one of two 
other print routines that will either 
print one record to the screen or 
one record to the printer. Which 
routine is called again depends on 

30 



the previously mentioned switch. 
Each of the latter two print 
routines print only one record, 
then return to the search 
subroutine to find the next. 

The search subroutine itself first 
asks for the criteria desired, giving 
the record number and each 
heading as the choices for the field 
to search. Once the field is 
selected, the user is asked whether 
the item(s) desired should be less 
than, equal, or greater than a 
given value. Then the user is asked 
to specify the value to match. 
These choices allow the user to 
select a search for, as examples, all 
records numbered 10 and up, all 
names starting with A to J, every 
item with an inventory code of 
PRT, or whose phone number is 
859-3661. An additional feature 
allows you to choose the equal 
option and follow your value with 
an asterisk (*). Suppose you 
wanted to find the record for 
PELCZARSKI, but couldn't 
remember how it was spelled, or 
just didn't feel like typing the 
whole thing. You could ask for the 
name equal to PEL* and it would 
search the name field for anything 
that began with PEL; if there was 
more than one it would display 
each. 

USING NUMBERS 

At this point there is still a 
problem with using numbers in this 
program, as you may have 
discovered with the sort routine. 
Suppose you had a field that 
involved a quantity, such as in an 
inventory. Suppose that there are 
three items, and the amounts of 
each were 12, 4, and 218. A sort 
or search on this field would yield 
a somewhat unexpected result: It 
would treat them, in ascending 
order, as 12, 218, and 4. This is 
because we're still using character 
strings for our data, and when 
comparisons are made the first 
characters are compared, then, if 
necessary, the second characters, 
and so on. Therefore the sort on 
these items would compare their 
first digits: 1, 2, and 4. A search 
on these items for all quantities 
less than 200 would only find the 
value 12. The temporary solution 

SoftSide DECEMBER, 1980 



to this problem is to right -justify 
each quantity by adding leading 
zeroes: 004, 012, and 218. If 
there's the possibiHty of any of 
these going over 1000, then 
another leading zero must be 
added. Eventually we'll devise a 
method for distinguishing between 
character and numeric data; but 
for now, be cautious. 

THE PROGRAM 

Down to the actual 
programming, the first change 
occurs in lines 350 and 360. These 
lines previously called the change 
and delete routines. The changes 
made now set a switch (SB, for 
SuBroutine), then call the search 
routine, which will start at 8000. It 
is possible that you may not want 
your change and delete routines 
filtered through the search, that 
referencing by record number with 
these routines is easier than 
answering three questions asked 
for performing a search (field, 
relation, and value). If the search 
will be more cumbersome in your 
appHcation, leave these lines (or 
either) as they were, and don't 
make any changes to the change 
and delete routines. 

Although the change and delete 
subroutines (lines 5000-6150) 
haven't been totally changed, 
we've listed the entire routines as 
they now exist to avoid confusion. 
Neither routine has to ask for a 
record number, since the search 
routine will have found a record 
before calling the other routines 
(the record number is contained in 
'I'). The change routine has an 
added option, 'R', which means 
"keep the remainder of this 
record." This will save some 
keystrokes when a search results in 
more than one record being found, 
and not all of them require 
changes. In the delete routine, the 
printing of the record has been 
removed. Instead, the "print one 
record" routine will be performed 
before the delete routine is called. 

The print routine has been 
changed totally, so that it is now 
three separate routines: a routine 
to initialize print options, a routine 
to print one record on the screen, 
and a routine to print one record 



// 



on the printer. The first routine 
starts at 3000 and allows the user 
to choose screen or printer for 
output (SB is set depending on the 
choice), then asks if the user wants 
the entire file printed, or only 
selected records. If only selected 
records are to be printed, the 
search subroutine is called at 8010 
(because the check done at 8000 
has already been performed). If 
the entire file is to be printed, the 
search criteria are preset so that 
every item will fit (CI, C2, and C$ 
are given values that will be 
interpreted as 'the value under 
heading 1 must be greater than or 
equal to empty'), then the search 
subroutine is called at 8200, which 
skips the entire section in which 
the user specifies selection criteria. 
The other print subroutines start at 
lines 3300 and 3600, and are taken 
from their corresponding parts in 
our original print routine. 

The search routine itself does a 
simple, sequential search. Once it 
has information about what it's 
looking for, it checks every time. 
Faster searches assume that the 
items are sorted on the same field 
on which the search is being done; 
by our provisions we cannot yet 
assume that. The routine starts by 
asking the field to search on, and 
assigns that heading number to 
variable CI. If the search is to be 
done on the record number, then 
CI is given a value of — 1. Line 
8060 asks if the comparison should 
be < = , = , or > = . C2 is given a 
value of 1, 2, or 3, respectively. 
Lastly, a value is asked for. If the 
search is for a record number, a 
number is input to T; otherwise a 
character string is input to C$. 
(Another possible departure for 
some of you, if you want a record 
number quickly and don't think 
you'll ever need a range of record 
numbers, is to add line 8055 IF 
CI =—1 THEN C2 = 2: GOTO 
8080. This will skip the relation 
choice if a record number is 
desired.) 

The search procedure starts with 
line 8200. RS is a return switch, set 
in the 'print to screen' option 
when the ESC key is pressed to 
terminate the list. It starts equal to 
zero, and is set to one if ESC is 
pressed in the print routine. II and 
12 are the starting and ending 
record numbers that the search will 
include, and usually will be to 
NI. If the search is done on a 
record number, however, lines 
8205—8230 reset the appropriate 
endpoints. The search loop goes 



from 8250 to 8380. If the search is 
on the record number (8260), the 
item is accepted and sent to 8330 
for processing. Otherwise, C2 is 
checked and the program is sent to 
the proper checks at 8280 ((=), 
8290 ( = ), or 8310 (>=). At each 
check, an accepted value is sent to 
8330 to process, or 8380 for the 
next item. The "equal" check at 
8290 is worth mentioning because 
if the item is not equal, a test is 
then made to see if the last 
character of C$ is "*". If so, the 
length of the item is compared to 
C$ (minus the '*'), and if the item 
is long enough, the first characters 
are compared to those of C$. If all 
those tests are passed, then the 
item matches and is processed. 

The final step is the actual 
processing of the items in lines 
8330 to 8360. SB = 1 means 
printing to the screen and the item 
is sent to that subroutine, SB = 2 
sends the item to the printer, 
SB = 3 sends it to the change 
subroutine, and SB = 4 first calls 
the screen print subroutine, then 
calls the delete subroutine. Upon 
return, RS is checked. If it's one, 
the loop is stopped. When the loop 
itself finishes, the search is over 
and a return is made to the main 
program. 
THE ATARI VERSION 

We've come across a couple 
problems with the Atari version of 



Figure 1 



the data base, so if you've been 
pulling your hair out trying to find 
what you did wrong, here are a 
few solutions. The main error is in 
saving large strings to tape or disk. 
The I/O buffer is only 255 
characters, and our single string of 
data can be much longer. What 
must be done is to split the string 
into segments smaller than 255 in 
length when saving them, then 
reassemble them when loading. 
Unfortunately, it takes several lines 
of additional code, which are 
included in the Atari listing. The 
other problem occurred when the 
last record in the file is deleted. 
The two lines necessary to correct 
that are also included in the Usting. 
Sorry about the problems. (To 
save your present file, if errors 
have not yet occurred, first load 
your file, then stop the program 
and type in the changes from lines 
1000 to 2300, then type GOTO 200 
and your data should be okay.) 

IN THE FUTURE 

The next couple additions to the 
data base will be extending the 
search routine to handle multiple 
conditions, and print formatting. 
Please send your data base input to: 
Mark Pelczarski 
1206 Kings Road 
West Chicago, IL 60185 
We'll devote some space in future 
issues to your ideas. 




ORIGINAL STRUCTURE 




NEW STRUCTURE 



SoflSide DECEMBER, 1980 



continued on next page 

31 



®. 



APPLE MODIFICATIONS 

350 IF Ai = "C" THEN SB = 3: GOSUB 

8000 : GOTO 200 
360 ff M = "D" THEN SB = i: GOSUB 

8000: GOTO 200 

2999 REM PRINT SUBROUTINE "^RS. 

3 

3000 ff NI = - 1 TICN GOSUB 90 

OO: RETURN 
3010 PRINT "(S) SCREEN, OR (P) P 

RIKTER"r. GET fti'. PRINT 
3020 ff A* = "P" THEN SB = 2! GOTO 

3050 
3030 ff A$ < > "S" THEN 3010 
3010 « = i: PRINT : PRINT "ARER 

EACH RECORD <ESC> HILL RETU 
RN TO"; PRINT "THE MENU, ANY 
OTHER KEY CONTINUES." 
3050 PRINT : PRINT "(A) ALL, OR 

(S) SELECTIVE";: GET A$ 
3060 ff A$ = "S" THEN GOSUB 801 

O; GOTO 3090 
3070 ff A$ < > "A" THEN 3050 

3080 PRINT :ci = 0;C2 = 3:ci = 

""; GOSUB 8200 
3090 ff SB = 2 THEN PRt 
3100 RETURN 

3299 REM PRINT 0J€ RECORD TO SC 

RFEN. VERS.3 

3300 PRINT : PRINT "RECORD ";i + 

i: PRINT 
3310 FDR J = TO NH 
3320 PRINT Hi(J),I»(I,J) 
3330 ICXT J 
3340 GET A$! ff A$ = CW$ (27) nCN 

RS = 1 
3350 RETURN 

3599 REM PRINT WC RECORD TO PR 
INTER. VEPS.3 

3600 PRINT : PRINT "RECORD ";i + 

i: PRINT 
3610 FOR J = TO NH 
3620 PRINT H$(J),I$(I,J) 
3630 NEXT J 
3640 RETURN 

4999 REM DWCE SUBROUTDC VERS 

.2 

5000 PRINT ; PRINT "(C) CHANGE I 

TEM, (K) KEEP ITEM, OR": PRINT 

"(R) KEEP fBVmXiER OF RECOR 

D" 
5030 PRINT : PRINT "RECORD ";i + 

1 
5040 CS = 1:RS = O; FOR J = TO 

NH 
5050 PRINT : PRINT H$(J);" : ";i 

$(i,j)5" "; 

5055 ff RS = 1 THEN PRINT : GOTO 

5090 
5060 (^T A$: ff A* < > "C" AND 

A$ < > "K" AND A$ < > "R" THEH 

5060 
5070 PRINT A$: ff Ai = "K" THEN 

5090 
5075 IF M = "R" THEN RS = i: KTO 
5090 

5080 PRINT H$(j);: imn " : ";i 
$(i,j) 



5085 CS = 

5090 ^EXT J 

5095 RS = 

5100 IF CS = THEN SS = 

5110 RETURN 

5999 REM DELETE Sl£ROUTII€ VERS 
2 

6000 'print : PRINT "DELETE THIS 

RECORD? "' 
6070 GET A$: IF A$ < > "Y" AI® 

A4 <■ •;• "H" TVEH 6070 
608U PRINT M', IF A$ = "N" THEN 

6150 
6100 FOR II = I + 1 TO NI 
6110 FOR J = TO NH 
6120 I$(I1 - 1,J) = I$(I1,J) 
6130 fEXT J: NEXT II 
6140 NI = NI - i:SS = 
6150 RETlfll'N 

7999 REM SEARCH SlffmiTINE, VER 

S.l 

8000 IF NI = - 1 THEN GOSUE: 90 

00 : RETURN 
8010 HOME : FRINT "SEW^tH CRHER 

IA:": PRINT 
8020 PRINT "0) RECWO fWMBER" 
8030 FOR I = TO NH: PRINT I + 

11") ";h*(I): ne)(t i 
8040 viae: 21 : input "(#ach field 

: ";i: if i< o or i > m + 

1 THEN 8040 
8050 CI = I - 1 
8060 VTAB 22: INPUT "(1) <= 

(2) = (3) >= ";i: 

IF I< 1 OR I > 3 THEN 8060 
8070 C2 = I 
3080 VTAB 23: PRINT "VALUE:";: IF 

CI = - 1 THEN 8100 
8090 INPUT " ";C$: GOTO 8200 
8100 INF-UT " ";i;C$ = STR$ (I - 

D: if I< 1 or I > NI + 1 Tt£N 

8100 

3200 RS = o:ii = o:i2 = Ni: if sb 

= 2 THEN PR» 1 
8205 IF CI < > - 1 IftN 8Z50 
8210 IF C2 = 1 THEN 12 = VAL (C 

*) 
3220 IF C2 = 2 TJ£N II = VAL (C 

$);k = II 
8230 IF C2 = 3 TJ€N II = VAL (C 

») 
8250 F(»;; I = II TO 12 
8260 IF CI = - 1 TI€N 8330 
8270 m C2 GOTO 8280,8290,8310 
8280 IF I$(I,C1) < = C$ T^CN 83 

30 
8235 GOTO 8:»0 

8290 IF T»(I.C1) = C$ THEN 8330 
8295 IF RIGHTS (C»,l) < > "i" THEN 

8380 
3298 T = LEN (C») - i: IF LEN ( 

I»(I,C1)) < T TfCN 8380 
8302 IF LEFT$ (I»(I,C1),T) = LEFT$ 

(C$.T) THEN 8330 
8305 GOTO 8:^0 
8310 IF It<I,Cl) > = C$ THEN 83 

30 
3320 GOTO 3380 
8330 IF SE; = 1 OR SB = 4 THEN GOSUE: 

3300 



3340 IF S£i = 2 THEN GOSIB 3600 

8350 IF ^ = 3 THEN GOSUB 5000 

8360 IF SE: = 4 TO GOSIB 6000 

8370 IF RS = 1 THEN I = 12 

8380 vm I 

8390 PRINT : F-RINT "THAT'S ALL" 

GET A* 

8400 RETURN 



ATARI MODIFICATIONS 

10 DIM fa(2bS> y-ff£i2m.s 

358 IF CHRf!:AJ="C" THEH SE=3 GOSUB SSaj 

GOTO 200 

2bil IF CHRt(:H>="D" THEM S£:=4 GOSUB S0Se- 

GOTO 200 

1043 INPUT #1,!L DIM TI(hK«!L+IL+li;',Ct( 

HH:SIL+1L+10> 

1140 SEG=1 

1145 INPUT ttLftf 

1146 IF LEH(AJ)=0 THEN !2« 
1150 H*;SEG)=t» 

1155 SEC=SEG+25e GOTO 1145 

1255 INPUT #1,AJ 

1260 I«SEG>=« 

1265 IF LEH<HS)=25a THEN SEG^SEG+250 - QJT 

1255 

2130 SEG=1 

2135 IF LEH';H$XSEG+249 Tt£N PRINT #!;H* 

(SEG,LEN<H1):) GOTO 2170 

2140 PRINT #l,Hi(SEG,SEG+249) 

2150 SEG=SEG+25e^IF SEOLEHCH*; THEN 21? 



2160 GOTO 2135 

2170 PRINT #1;"" 

2230 SEG=! 

2235 IF LEH(!f;'<SEG+24y T.HEN PRINT #!il$ 

CSEG,LEN(It;>^GOT0 2260 

2240 PRINT #l;!$<SEG/^G+249> 

2250 SEG=SEG+25m IF SEOLENatJ THEN 226 



2255 GOTO 2235 

2260 PRINT #1;"" 

2999 REM PRINT SUEROUTIfE UERS. 3 

sew IF NI=-1 THEN GOSUB 9£« RETURN 

3010 PRINT :Fi;iNT "fS> SCKEEN OR CP:' Ffi! 

HTER ""PRINT 

3015 GET #2,H 

3020 IF CHR*(ft)="P" THEN 56=2 GOTO .305* 

303(1 IF CHR1:';hK>"S" then 3015 

3040 SB=1 PRINT PRINT "AFTER EhCH FfCOD 

<ESC> will RETLKH T0"^F1?INT "THE rBJJ. 
etr-i OTHER KEV C»iTINLES," 
3050 PRINT ^PRINT "id) ALL, OR: iS) SELEC 
TIUE", ^GET tt2,H 
3060 IF C*:J(ft>="S" THEN GOSUB SOlO iIlTO 

3090 
3070 IF CHR$(kK>"h" then 3050 
30S0 PRINT C1=0^C2=3 C*=" " GOSUB 8 

200 

3090 CLOSE #3 
3100 RETURN 

3299 REM PRINT ONE RECORO i.€RS. 3 

3300 PRINT PRINT "REODRB ";I+1 PRINT 
3310 FOR J=0 TO NH 

3320 PRINT HJ(:j«HL+l,J:{HL+H.;',Itasra.+l + 

J:icIL.I$RL+J«IL+IL> 

3330 NEXT J 

3340 GET #2, A IF A=27 Th€N RS=1 

3350 RETURN 

3400 RL='::NH+!>:SIL 

3410 RL=(NH+lX5lL 

3420 FOR 1=0 TO NI 

3438 LPRINT " " 

3435 LPRINT "RECORD ",I+1 ^LPRINT " " 

3440 FOR J=0 TO NH 

3450 LPRINT HJ( J:>;HL+!,JSH-+HL), ItHiRL-^l 

+.BIL.I:ffiL+J*IL+IL; 

3460 hCXT J 

3470 NEXT I 

3498 RETURN 

3599 REM PRINT Ot€ RECORD TO PRIffTER.. LE 
RS. 3 

3600 LPRINT LPRINT "RECCRD ", 1+1 ^LPRINT 
3610 FOR J=8 TO NH 

3620 LPRINT Hl( J:sHL+L JSH.+HL>, IfC KRL+l 

+J:!:IL,I«RL+J*IL+IL) 

3630 NEXT J 

3640 RETURN 

4009 DIM Tf(tKJIL+IL+!n,Ct<NH*IL+IL+10) 

4999 REM CHANGE SLIBFoJUTltE LtRS- 2 

5000 PRINT PRINT "CO CHAUGE ITEM. (K> 
KEEP ITEM, OR" PRINT "(RJ KEEP REMAINDER 

OF RECORD" 
5030 PRINT PRINT "RECORD "iI+1 
5040 CS=1 R-S=0^FOR' J=i3 TO m 



32 



SoftSide DECEMBER, 1980 



SftfW PRINT :F1;TNT H*.;jiH.+l,j:SHL+HL);" ■ 


6890 IK LEhKIS ;•+!>=" " 


8220 IF C2=2 THEN Il=U:i(CI> 12= 


=11 


MJ( I.tRL+1+JSIL- I«?L+JSIL+IL;'; " "; 


6100 IS<I*RL+l)=I«I«a.+l+mSIL+IL> 


8239 IF C2=3 TfCH Il=t,lflL';»> 




5955 IF RS=1 THEN PRINT GOTO 5990 


6140 NI=NI-ISS=0 


8250 FOR' I=n TO 12 




Wfi« GET «2,A^IF CHR$(rtX>"C" AND CUMfH 


%^ * TSJ ilA ■<& i V^^ W 

6130 I$=I*i; 1,LEW;IJ>-1 > 


8269 IF Cl=-1 THEN ft3,7M 




K>"K" AND CHR*(AK>"R" T>€N 5069 


6160 RETURH 


8270 ON C2 GOTO 8289.. 8299. 8319 




5070 PRINT CH;'«H>IF CH?«h;="K" THEN 5 


/yyy reh search subroutuc, icrs. i 


8280 IF Ita:*SL+I+Cl:SIL..Iffil+Cl.-' 


UL+LBKC 


090 


KHW IF NI=-1 Tf€N UKUB 9000 RETURN 


$;'X=C* THEN 5330 




5075 IF CHR$<A:="R" then RS=rG0TO 5090 


8010 GRAPHICS PRINT "SEARCH CRITERIA^" 


8285 GOTO 3339 




5080 PRINT H$(.KcHL+LJS«_+H.;'," ^ ", afP 


^PRINT 


6290 IF I$a:SRl+l+Cl:*IL,I:iiF:L+Cl:- 


IL+LEWC 


UT AJ 


OHM PRINT "0) RECORD HUTEER" 


t>>=C$ THEN 8330 




5flft? IF LEN(At)>IL THEN PRINT "TOO LONG. 


fSWi FDR 1=0 TO NH PRINT I+l;") ".;HKI*H 


8295 IF C|-(LEW.C$,''.LEhKCj;'X;>"«' 


THEN 83 


(lAXinun SIZE is ML;". REENTER" GOTO 5 


L+l,I*HL+H.)^hEXT I 


80 




080 




8298 T^LENCCJ)-! IF IL<T TJ€N 8339 1 


5683 IF LENCAfXIL THEN At<LEN(AI>+l )=" 


8040 POSITIOhf 2.20 PRINT "WHICH FIELD^ " 


8392 IF U<I:«SL+l+Cl:SIL.I*Ft+C!: 


:IL+T>=C$ 


"^GOTO 50S3 


jaNPUT I IF I<0 a? I>H4+1 THEN 8049 


(l.T)' THEN 8339 




5884 I*< LtRL+l+JicIL, I:tRL+Ji«.+IL Xa 


8050 C1=I-1 


8305 GOTO 83S'9 




5885 CS=0 


8060 POSITION 2-21 F1<IKT "(U <= (2 


8310 IF II(I:SRL+l+Cl:UL,Iff;L+Cl:i;IL+L£N(:C 1 


5090 ^CXT J 
5095 RS=0 


) = (3> >= "; ItfW MF Kl OR 
I>3 THEN 8060 


tyy:>=Ct THEN 8339 




5180 IF CS=8 Tf£N SS=0 
5110 RETURN 


8070 C2=I 

R<W) POSITICH 2,22 PR'INT "LttLUE "; IF CI 

=-1 TfCN Sim 


8329 GOTO 3.389 

8339 IF SE=^1 OR 58=4 T«H GOSUB 


.3300 


5999 REM DELETE SUBROLTTIhE LtRS 2 


8340 IF SE^2 T^£N sWIR 3699 




6000 PRINT PRINT "DOETE THIS .RECORD^ " 
6870 GET »2,A IF CHRt(AX>"Y" (W CrtW(A 


8090 PRINT ; INFUT CJ GOTO B2au 
8100 F1?INT " "; INF'UT I C*=STK'$< I-l J IF 
Kl OR I>NI+1 THEN 8980 

ftTCtt PS=U : T 1 =fl ■ I ^=H I 


835i;i IF Se-3 THEN GOSUE: 50813 

8369 IF SB-4 THEf! GftilJf bXV 

8370 IF RS=! lt£H 1=12 




K>"N" THEN 6070 

ftfVl PRINT CHW(A> IF CH?$<A;'="N" THEN 6 


8205 IF ClC'-l THEN 8259 


8.380 h£XT I 1 
8.390 PRINT ^ PR INT "THAT'S ALL "^ GET #2 ..A | 


lee 


8210 IF C2=l TI€N I2<WL(Ct; 


8499 RETUPr! 




TRS-80 MODIFICATIONS 


6080 PRINTAt;iFA»="N"THEN6150 




350 IF A$ = "C"THENSe=3:mSUES0O0;GOTO200 


6100 FOR 11=1 + 1 TO NI 




360 IF A* = "D"THENSe='i:GOSlt«000!GOTO200 


6110 FOR J=0 TO NH 




2999 ' PRINT SUfiROUTINE UER'SION 3 


6120 I»(I1-1,J)=I$(I1,J) 




3000 ifni=-ithengosue;9ooo:return 


6130 NEXT J : NEXT 11 




3010 PRINT"(S) SCREEN OR (P) PRINTER"; ;GOSUEki0000:PRINT 


6110 NI=NI-1!SS=0 




3020 IFA»="P"THENSE:=2!GOT03050 


6150 RETURN 




3030 IFAi<>"S"THN3010 


7999 ' SEARCH SUEW)UTII« VERSION 1 




3010 se:=i;print:print"after each record (M) hill return to menu, 


8000 IFNI=-lTHENGOSUEi9000;RETJi*( 




m other key continues." 


8010 CLS!PRINT"SEARCH CRITERIA! "IFiaNT 




3050 PRINTIPRINT"(A) ALL, OR (S) SELECTIVE" ;:GOSUE:60000 


8020 PRINT" ) RECORD NUMECR" 




3060 IFA»="S"THENGOSUES010!GOT03100 


8030 fori=otonh:printi+i;") ";h$(I);nexti 




3070 FA$<>"A"THEN3050 


8010 PRINT@768,""*,;iNFUT"HHICH FIELD: ";i:iFI<0ORr>»tHTHEN8010 | 


3080 print:ci=o:c2=3;c»="":uhje820o 


8050 C1=I-1 




3100 RETURN 


8060 PRINTe832,"";:iNPUT"(l) <= (2) = (3) >= 


"U'.IFKl 


3299 ' PRINT ONE RECORD TO SCREEN, VERSION 3 


ORI.-3THEN8060 




3300 PRINT"REC(»0 "lI+ltFWNT 


8070 C2=l 




3310 FORJ=OTONH 


8080 PRINTe896,"";;PRINT"VALUE:";:iFCl=-lTHEN8100 




3320 PRINTH$(J),I$(I,J) 


8090 INPUT" ";C$:GOT08200 




3330 NEXTJ 


8100 INPUT" ";i:c$=str»(i-i);ifi<i(»;i>ni+it«:n81oo 




3310 GOSUt^OOOO!IFA$="M"THOSB=l 


8200 Rs=o;ii=o:i2=Ni 




3350 RETURN 


8205 IFC1O-1THEN8250 




3599 ' PRINT ONE RECORD TO PRINTER, VERSION 3 


8210 IFC2=1THENI2=VAL(C*) 




3600 LPRINT" "tLF^RINT" RECORD "U+ULPRINT" " 


8220 IFC2=2THENI1=VAL(C$):I2=I1 




3610 FORJ=0TONH 


8230 IFC2=3THENI1=VAL(C») 




3620 LPRINTH$(J),I$(I,J) 


8250 F0RI=I1T0I2 




3630 NEXTJ 


8260 IFC1=-1THEN8330 




3610 RETURN 


8270 ONL"2UJTO8280, 8290, 8310 




1999 REM Cf¥WGE SUEMMINE, VERSION 2 


8280 IFI»(I,C1)<=C$THEN8330 




5000 PRM!PRINT"(C) CHANGE ITEM, (K) KEEP ITEM, OR 


8285 GOTO8380 




(R) KEEP RE(¥iINOER OF RECORD" 


8290 IFI»(I,C1)=C$THEN8330 




5030 PRINT !PRINT"R£CORD ";i+l 


8295 IFRIGHT$(Ct, 1 )O"x"THEN8380 




501.0 CS=l!RS=0*.FORJ=0TONH 


8298 T=LEN(C$)-i:iFLEN(I$(I,Cl))<TTHEN8380 




5050 PRINT!PRINTH*(J);" ! ";it(I,J);" "', 


8302 IFLEFTt(I«(I,Cl),T)=LEFT$(C»,T)THENBJ30 




5055 FRS=1THENPRINT;GOT05090 


8305 GOTO8380 




5060 GOSUE:60000:IFA$0"C"ANDA«<>"K"ANOA«<>"R"THEN5060 


8310 IFI$(I,Cl)>=CtTHEN8330 




5065 PRINT A» 


8320 GOTO8380 




5070 IFA»="K"THEN5090 


8330 IFSE:=ia<SE:=1THENW)SUEi3300 




5075 IFAt=:"R"THENRS=i:GOTO5090 


8310 IFSEi=2THENGOSl«Q600 




5080 PRINTH$(J);:iNPUT" I ";i$(I,J) 


8350 IFSE:=3THENGOSUE5000 




5085 CS=0 


8360 IFSE;=1THENGOSU£:6000 




5090 NEXTJ 


8370 IFRS=1THENI=I2 




5095 RS=0 


8380 NEXTI 




5100 IFCS=0THDISS=0 


8390 PRINT;PRINT"THAT'S ALL";GOSUE:60000 




5110 RETURN 


8100 RETUR+I 




5999 REM DELETE SUE«OUTINE VERSION 2 


9000 PRINT"THERE'S NO DATA IN MEMORY. 




6000 PRINT;PRINT"DELETE this RtCORD? "5 


9010 FOR 1=1 TO lOOOINEXTIRETURN 


® 


6070 GOSUEViOOOO ;IFA$<>"Y"ANDA$<) "N"THEN6070 


60000 A»=INKEY$:iF A*=""THEN 60000 ELSE PRINTJRETUWI 



® 



^>, 



0>> 



SoftSide DECEMBER. 1980 



33 



CONNECT-A- DOT 




(|)(i)(i)(i)(pcpa)cpa)q) 






(b Q) Q cp 



d CD o (t d) 



(poo c y<h<y<y<y^y 




by Duane Barts 

Occasionally you see a program 
that is done so elegantly and runs 
so smoothly that you wonder why 
all authors don't incorporate the 
same techniques. Connect-a-Dot is 
a good example of this kind of 
well-written program. The display 
is well done, and the method of in- 
put is made incredibly easy. (Pro- 
grammers will also be interested in 
the shape table used, which con- 
tains the numerals — 9 for the HI- 
RES screen.) Connect-a-Dot re- 
quires a 16K Apple with Applesoft 
in ROM. 

GAME DESCRIPTION AND 
RULES 

Connect-a-Dot is a game for two 
players. It has been played for 
many, many years with pencil and 
paper, but now your Apple will do 
all of the busy-work for you. 

The original version of the game 
is played by first drawing a 10 X 
10 gridwork of dots. The players 
take turns drawing horizontal and 
vertical lines between the dots. 
Each player tries to complete 
drawing squares while preventing 
his opponent from doing the same. 
The game is over when all squares 
have been completed, and the 
player with the largest number of 
completed squares wins. 

However, this computer version 
has two modifications to the 
original game: 

1 . In the paper-and-pencil ver- 
sion, when a player completes a 
square, he writes his initials in it. 
This version fills in the square with 
34 



a color that has been assigned to 
the player. 

2. Rather than merely adding up 
the number of squares a player has 
completed, this version has assign- 
ed a score value to each square. 
The scores increase from the top 
left of the game board to the bot- 
tom right. The player with the 
highest total score wins. This scor- 
ing modification makes the game a 
little more challenging. 

The rules are simple: 

1 . The lines drawn must be 
horizontal or vertical and must be 
between two adjacent dots. 

2. Only one line can be drawn 
per turn, unless 

3. A square has been completed. 
Then that player gets another turn. 

PROGRAM OPERATION 

Most of the program is fairly 
simple and straight-forward, con- 
sisting mainly of player inputs and 
HI-RES plotting. The heart of the 
program is determining if a square 
has been completed. The method 
chosen was to construct two 9X9 
matrices and assign a value in 
these matrices to each line as it is 
plotted. The matrix for the 
horizontal lines is H%(A,B), and 
for the vertical lines, V%(A,B). In- 
itially, each value in the matrices is 
(0,0). 

When a player types in a set of 
plotting coordinates, the program 
makes sure that the line is plotted 
in the right direction - from left to 
right and from top down. If the 
player inputs the endpoints of the 
line in reverse order, lines 2080 
and 2085 put them in the right 
order. If the line tests legal, it is 
plotted, its value put in the matrix, 
and a check made to see if a 
square has been completed. 

The coordinates of the upper left 
hand corner of a square, (A,B), 
are used as the reference points for 
the square complete checks. (See 
Figure 1.) The other end (C,D) is 
used only for plotting and deter- 
mining if the line is too long, too 
short, diagonal, or already plotted 
(see program lines 2090 - 2105). If 
the line plotted is horizontal, then 
H%(A,B) is set equal to 1. 
Likewise, if the line is vertical, 

SoftSide DECEMBER, 1980 



then V%(A,B) is set equal to 1. 
Thus, each Hne plotted on the 
game board will have a value of 1 
in its matrix corresponding to its 
left or top end. 

A square can be completed on 
either side of the hne plotted 
(Figure 2), so each side must be 
looked at. A check is made of the 
matrix values of the (A,B) ends of 
the other lines of the potential 
squares. If all three equal 1, then 
the square is complete and the ap- 
propriate subroutine is called to fill 
in the square. The color used is 
determined by P = 1 or P = 2 
(player 1 or player 2). Figure 3 
shows the (A,B) values used in 
making the square complete check, 
found in program hues 2185 -2230. 

One other factor must be con- 
sidered. If the line plotted is along 
the top or left side, only one 
square can be completed. Lines 
2200 and 2220 eliminate checking 
the squares that fall outside the 
game board. 

The score for each square is the 
product of the coordinates of its 
upper left hand corner. Strict use 
of this convention would result in 
the top and left side rows of 
squares having a score of 0, so the 
scoring routines arbitrarily assign a 
value of 1 to these squares. 



(AB^ 



h7.ca,b:) 



-f (C,D^ 



(A,6> 



V%(A,,B) 



Figure 1 
Reference Points for "Square C" 



(A,B) 



(C,D) 



(A,e) 



f 



"4 (C,D) 



^ 



Figure 2 

Possible Squares Completed 
for each Line Plotted 

V,^ rtr.fa.B-i) _^ 






(A-iB-O 



n(A-i,e) 









vr.(A.i,B-i; 






v%6a«i,b) 



(A,8.ir 



(A-l, B-l') 



Figure 3 

Line Endpoint Coordinates and 
Line Matrix Values 

VARIABLES 

A,B = Player input: Line end-point 

coordinates. 

C,D 

X,Y = Line plotting coordinates 

(HI-RES). 

V,W 

H^lAjB) = Horizontal matrix. 
V%(A,B) = Vertical matrix. 

PAS = Player's names. 
PBS 

SA = Player's scores. 
SB 

ST - Total score. 

S = Score counter. 

SJ 

SK = Scores for the squares. 

SL 

P = Player identification. 



1000 REM ========= 

1001 REM 

1002 REM Ml CONNECTWHWT m 

1003 REM 

1001 REM BY~ 

1005 REM DUA^E A. E«*;TS 

1006 F£M 208 FLIVA AVE 

1007 F£M FT. ^WLTON BEACH, FL 

1008 REM JULY 30, 1980 

1009 REM ========== 

DinerisioTi the arrays arid stririqs, 
arid set HlfCM to protect the shape 
table. 

1010 DIM H%(9,9),VZ(9,9),PA*(12) 
,PE*(12): CLEAR 

1015 HD£M: 8061 

Provide the address and loading of 
the shape table. The shapes are the 
nt-fibers 0-9 used arotrid the sides 
of the qaMe board. 

1020 FIXE 232,126: POKE 233,31! GOSUB 
4005: ROT= i: SCALE= 1 

Display the gane title. 

1025 HOME : VTAB 10 : PRINT TAB( 

10) "MI CO^WECT-A-DOT m«": PRINT 
: PRINT TAB( 9V'A QfTE FOR 
TWO FIAYERS" 

1030 FOR D = 1 TO 2500 : NEXT D 

Display the qam board in HI-RES 
graphics. 

1035 HGR : HCOLOR- i: fftOT 1,0 TO 
279,0 TO 279,159 TO 1,159 TO 
1,0: GOSUB 3070 

1040 N = i: FOR Y = 5 TO 154 STEP 

149:N = i: for X = 77 to 203 

STEP 14: DRAW N AT X,Y: FOR 

= 1 TO loo: NEXT d:n = N + 

i: fEXT X,Y 
1045 N = i: FOR X = 65 TO 215 STEP 
150:N = i: FOR Y = 16 TO 142 
STEP 14: DRAW N AT X,Y: FOR 

D = 1 TO loo: NEXT d:n = N + 

i: fCXT Y,X 

Qi.iery the players if they want 
instnctions. 

1050 VTAB 21 : PRINT "DO YOU WANT 
INSTRUCTIONS? (Y/N) ";: PRINT 

"";: GET Yi: if y$ = "Y" then 

GOTO 3090 



Obtain the player "s' nanes, 

1055 HOME : VTAB 21 : PRINT "TYPE 
IN YOUR NAMES (11 LETTERS M 
AXIMUM)" 
1060 INFUT "FIAYER i: ";PA$J IF 
LEN (PA$) > 11 THEN INVERSE 
: PRINT "TOO mfi LETTERS": GOSUB 
2120: POKE 37,2i: CALL - 95 
8: GOTO 1060 
1065 POKE 37,21 : CALL - 958: INPUT 
"FIAYER 2: "5PB$: IF LEN (P 
Bf) > 11 THEN INVERSE : PRINT 
"TOO MANY LEHERS": GOSB 21 
20: F-OKE 37, 2i: CALL - 958: 
GOTO 1065 

Show each player his color. 

1070 HOft : HCOLOR= 2: FOR X = 2 

7 TO 40: HFIOT X,73 TO X,84: 

NEXT : HCOL0R= 6: FOR X = 2 

41 TO 254: fflOT X,73 TO X,8 

4: NEXT 

1075 VIAE: 2i: PRINT PA$;"'S COLO 

R IS ON THE LEH": F"RINT PB* 

;"'S COLOR IS ON THE RIGHT": 

GOSUB 3080 

Choose the first player. 

1080 P = INT ( RND (1) x 2) + 1 

2000 REM PLAYER MOVE 

2005 = FRE (0): PRINT "": IF P 

= 1 T^€N P = 2: GOTO 2015 
2010 P = 1 

Display each player's ctwulative 
score. 

2015 HOME : VTAB 21 : PRINT "SCOR 

E = "jsa:: print tab( 28)"s 

CORE = ";SB 

Display the players' naties. The 
player whose riawe is flashing has 
the rext fwve. 

2020 IF P = 1 THEN FLASH : PRINT 

PA*:: mm. : print taek 2 

8)PB$: GOTO 2030 
2025 PRINT PA$;: FLASH : HTA£: (2 

8): PRINT PBi: NORMAL 
Display pronpt for player input and 
display points plotted as they are 
typed in. The subroutire at 
2055-2070 insures that only the 
nuwber keys are read. The other 

continued on next page 



SoftSide DECEMBER. 1980 



35 



keys will have no effect ori the 


"WON'T WORK ~ FIOT ANOTHER 


works). If a square (or sqiiares) 


proqrsn, with the exceptiori of 


»€": GUbUE! 2120 : GOTO 2015 


has been completed, then the 


'ESC', vrfiich will start 3 new gsfie. 


2105 IF A = C AND B = D THEN GOSUB 


3ppropri3te subroutine is C3lled to 


The oi.rtput of these lines is 3 


2115: FldNT "YOU PLOHED THE 


fill in the sqiiare with the 


value for (A,B) and (C,D) — the 


SAiC POINT TWICE -": PRINT 


player's color and tally the score. 


endpoints of the desired line. 


"PAY AHENTION!!": UH£ 212 


Line 2235 adds up the total score 




O: GOTO 2015 


for the Move. 


2930 PRINT 5 HTAB C^V, PRINT "PL 


2110 GOTO 2130 




OTFROM ";: GOajB2055!A = P 


2115 HOME : VTAB 22: INVERSE : RETURN 


2170 REM SQUARE COMFIETE? 


P: IF A = 10 THEN 3060 




2175 IF P = 2 THEN Hnni.OR= 6: GOTO 


2035 PRINT ",■■;: GOSUB 2055:B = 


2120 Z = ( - 16336): FOR D = 1 TO 


2185 


PF'l IF B = 10 THEN 3060 


300 :U = PEEK (Z) + PEEK (Z 


2180 HCOLOR- 2 


2040 PRINT " TO ";j msiiB 2055:C 


) - FtEK (Z): NEXT : NORMAL 


2185 IF A = C THEN 2200 


= PP: IF C = 10 THEN 3060 


: RETURN 


2190 GOTO 2220 


2D45 PRINT ",";j GOSUe 205550 = 




2200 IF A = THEN 2210 


PF-: IF D = 10 THEN 3060 


Display the line plotted by the 


2205 IF H5:(A - 1,B) = 1 AND VZ(A 


2050 GOTO 2080 


player. (A,B) and (C,D) are 


- 1,B) = 1 AM) HZ(A - 1,B + 


2055 PP = PEEK ( - 1638^}): IF PP 


tr3n5l3ted to corresponding points 


1) = 1 THEN GOSUE: 3020 


< 128 THEN 2055 


on the HI-RES screen. 


2210 IF HZ(A,E) = 1 AM) VZ(A + 1 


2060 F1DKE - 16368,0:PP = PP - 1 


2130 HCOLOR= 3:X = (A i 11) + 77 


,B) = 1 AND H%(A,B + 1) = 1 THEN 


76: ff Ff = - 21 THEN PP = 


:Y = <B X 11) + 16:V = (C I 


GOSUB 3035 


10! RETURN 


11) + 77:H = (D I H) + 16: HPLOl 


2215 GOTO 2235 


2065 IF Ff < OR PP > 9 THEN 20 


X,Y TO V,H 


2220 IF B = THEN 2230 


55 




2225 IF VZ(A,B - 1) = 1 AND m!(A 


2070 FICENT Ffi: RETURN 


FXtt 3 value in the natrix for the 


,B - 1) = 1 AND VZ(A + 1,B - 




plotted line. (See PrograM 


1) = 1 THEN GOSUB 3005 


Deternine if the player has nade a 


Operation for a description of how 


2230 IF V5:(A,B) = 1 AND HX(A,B + 


leq3l nove. Lines 2080 to 2085 


this works.) 


1) = 1 AM) VZ(A + 1,B) = 1 THEN 


insLTe that (A,B) and (C,D) are in 




GOSUB 3035 


the right order prior to the 


2135 F A = C THEN V3;(A,B) = 1 


Z23b S = SJ + SK + SL 


legality test. Lires 2090 to 2105 


2110 IF B = D THEN HX(A,B) = 1 




are the 'legality filter'. If a 




Add the nove score to the 


plotted line nak.es it through the 


QLiery the player if the line 


sppropriate player's cuMulative 


tests, line 2110 sends it on for 


displayed is what he really wants. 


score. 


further processing. If a test is 


If it is, line 2150 sends the line 




failed, the reason is displayed and 


on to the rest of the progran. If 


2215 IF P = 2 THEN SB = SB + S: GOTO 


the player is giveri a chance to 


not, lines 2155-2165 erase the 


2255 


replot. Lines 2115 and 2120 fornat 


line, zero the line in the natrix. 


2250 SA = SA + S 


ihs error nessage and soird a 


arid set iv the display for the 




warning. 


player to Move again. 


Deternine if the gane is over (1313 
is the total score of all the 


2075 REM LEGAL FtOT? 


2115 REM MO^E OK? 


sqi.iares). 


2080 IF A > C THEN E = A:A = C:C 


2150 PRINT " OK? (Y/N) "{: GET 




= E 


Y$: IF Y$ = "Y" THEN 2170 


2255 ST = SA + SE:: IF ST = 1313 THEN 


2085 F e > THEN E = BIB = D:D 


2155 HCOL0R= O: IF A = C THEN HFIOT 


2270 


= E 


X,(Y + 1) TO V,(H - 1):VZ(A, 




2090 IF (C - A) > 1 OR (D - B) > 


B) = 


If a sqi-iare was riot codpleted, 


1 THEN GOSUB 2115: PRINT "T 


2160 IF B = D THEN fftOT (X + 1 


there is no score, snd the play is 


HAT'S TOO LONG - TRY AGAIN" 


),Y TO (V - 1),H:HZ(A,B) = 


passed to the other player. 


: GOSUB 2120 : GOTO 2015 






2095 IF A = C AND VZ(A,B) = 1 OR 


2165 GOTO 2015 


2260 IF S = THEN 2005 


B = D AND HX(A,B) = 1 THEN GOSUB 


Check, to see if a square has been 




2115: PRINT "THAT LINE IS AL 


coMpleted. 2175-2180 pick the 


If there was a sqijare conpleted. 


REM)Y ON THE BOARD -": PRINT 


appropriate color for the player. 


the player gets another turn. Score 


"FIOT A^BT^€R OfE": GOSUE: 21 


2185-2190 establish if the line is 


coiciters are zeroed for the ne;<t 


20 : GOTO 2015 


horizontal or vertical. 2200-2230 


Move. 


?100 IF A < > C AND B < > D THEN 


deternine if a square has been 




GOSll: 2115: PRINT "TW»T HAS 


completed (see Prograti (deration 


2265 s = o:sj = o:sK = o:sL = o: goto 


A DIAGONAL LDC -": PRINT 


for 3 description of how this 


'^"'-J continued on next page 



16 



SoftSide DECEMBER, 1980 



Deternine who won the gawe arid 


3070 HCOLOR- 3: FOR' X = 77 TO 20 


3125 


HOME : VTAB 21 : F-RINT "IF A 


display the scores with the 


3 STEP li: FOR Y = 16 TO 112 




PLAYER SCORES BY": PRINT "C 


Hinrier's nsne and score flashiriq. 


STEP ii: HFIOT x,y: next Y, 




OWIETING A SQUARE, HE/SHE G 




x: return 




ETS": F-RINT "ANOTHER TURN.": 


2270 IF SA < SB THEN 2280 






GOSUE; 3080 


2275 HO«E : VTAB 21! FLASH : PRINT 


Ftograw pai-ise, with player 






PAt;"'S SCORE = ";sa;" you h 


initiated cwitini-ie. 


3130 


HmiOR'= 2:X = 77;Y = 16i GOSUB 


IN!": NOfthAL : PRINT PB$;"'S 






3035: hCOLOR= 6:x = 189:Y = 


score = ";SB: goto 2285 


3080 VTAB 2i: HTAB lO: INVERSE : 




128: GMl: 3035 


2280 HOHE J VTAB 21 J PRINT PA$;" 


FTlINT "PRESS ANY KEY TO CON 






'S SCORE = "ISA: FLASH : PRINT 


TINUE";: GET Y$: NORMAL : RETURN 






F-E:*;"'S SCORE = "ISBJ" YOU U 




3135 


mE : VTAB 21 : print "the 


IN!": NORMAL 






GAME IS O^R WHEN ALL SQUARE 




InstrLctioris (can be oMitted if 




S": PRINT "ARE FILLED IN. HI 


Ffonpt for another gane. 


line 3090 is RETURN). 




QH SCORE WINS.": GOSUB 3080 


2285 F-RINT : PRINT "PLAY AGAIN? 


3090 HOft ; VTAB 21 ; PRINT "THE 






am ";j get y$; if y$ = " 

Y" THEN 3060 


OEk£CT OF THIS GAME IS TO": PRINT 
"COMFIETE SQUARtS.": GOSUB 3 
080 
3095 H»E : VIAE 211 PRINT "YOU 


3110 


HOME : VTAB 21 : PRINT "TO S 
TOF' A GAffi: AND START OltR": PRINT 
"PRESS THE 'ESC KEY. GOOD L 


End roi.itine. 




UCK.": GOSUE: 3080 : GOTO 3060 




DO THIS BY DRAWING LINES BET 






2290 HOME : TEXT : CLEAR : PRINT 


WEEN"; PRINT "THE DOTS ON TH 






"FlAY AGAIN SOON" 


E GAME BOARD.": GOSUB 3080 






2295 END 




Shape table P-OKEs. 




3100 HOME : VTAB 211 PRINT "TO P 






Sijbroutine to color in the 


LOT A LINE, TYPE IN THE COOR 






conpleted squares arid deternine 


DINATES OF ITS END POINTS (T 


1000 


REM SHtf'E TABLE 


their scores f 

3000 REM FTII SQUARES 


OF' NUMEER FIRST.": PRINT "TH 






3005 FOR F = (X + 1) TO (X + 13) 


EN THE SIDE NUMBER).": GOSUB 
3080 


1005 


FOR I = 8062 TO 8191: READ 


: HFIOT F,(Y - 13) TO F,(Y - 




j: poke i,j: next : return 


1)J NEXT 








3010 SJ = (A I (B - D): IF SJ = 


3105 HmiOR'= 3: HFIOT 119,72 TO 






THEN SJ = 1 


133,72; HFIOT 161,86 TO 161, 


1010 


DATA 10,0,22,0,36,0,11,0,5 


3015 RETURN 


100 




1,0,66,0,76,0,88,0,99,0,108, 


3020 FOR F = (X - 13) TO (X - 1) 






0,119,0 


: fflOT F,(Y + 1) TO F,(Y + 








13): NEXT 


3110 HOME : VTAB 21 : PRINT "FOR 






3025 SK = (B I (A - D): IF SK = 


EXAMFIE, THE LINES SHOHN ARE 


1015 


DATA 12,37,28,63,23,51,16, 


TJCN SK = 1 






30,11,15,5,36,1,0,36,188,150 


3030 RETURN 






,18,15,28,36,0 


3035 FOR F = (X + 1) TO (X + 13) 
: HFIOT F,(Y + 1) TOF,(Y + 


": PRINT "PLOnED FROM 3,1 T 
1,1 M)"', PRINT "FROM 6,5 
TO 6,6": GOSUB 3080 


1020 


DATA 101,228,63,23,150,211 


13): l€XT 




,16,15,37,0,12,12,60,63,183, 


3010 SL = (A 1 B): IF SL = THEN 






116,21,15,12,228,7,0 


SL= 1 


3115 HFIOT 77,16 TO 91,16 TO 91, 






3015 RETURN 


30 TO 77,30 TO 77,16: HPLOT 








189,128 TO 203,128 TO 203,11 


1025 


DATA 58,39,12,12,12,51,171 


Erase the playing board ard zero 


2 TO 189,112 TO 189,128: DRAW 




,55,62,0,56,39,11,15,215,170 


the variables and matrices to set 


2 AT 81,23: DRAW 7 AT 193,13 




,51,23,63,28,1,0 


Lip a new gane. 


5: DRAW 5 AT 199,135 










1030 


DATA 117,216,63,28,36,229, 


3060 HmiOR= O: FOR Y = 16 TO 11 


3120 HOME : VTAB 21 : PRINT "EACH 




12,12,15,6,0,12,12,60,63,183 


2: HF1.0T 77,Y TO 203,Y: NEXT 


SQUARE HAS A DIFFERENT SCOR 




,82,30,16,0 


y: clear : gosub 307o: kto 


E.": PRINT "THE SQUARE'S SCO 






1055 


RES INCREASE FROM": F-RINT "U 


1035 


DATA 231,100,15,21,216,11, 




FfER LEFT TO LOWER RIGHT.": GOSUEi 




216,63,28,36,0,231,100,15,21 


Draw the dots on the gatie board. 


3080 




,51,119,30,30,63,1,0 g 



SoftSide DECEMBER. 1980 



37 



WORD PROBLEMS 




by Denslo Hamlin Jr. 
Word Problems is a program for 
the S-80 with 16K memory. There 
are occasional grammatical 
problems, which are almost 
inevitable in a program of this 
kind. However, compared to the 
majority of educational programs 
on the market, it is excellent. 
An Apple conversion hint follows 
the listing. 

Word Problems can create 
literally millions of different 
mathematical word problems that 
teach and test both mathematical 
and reading ability. 

The many problems are created 
through the varying of key words 
in any or seven theme problems. 
Since this results in problems with 
random word lengths, a special 
text printing device was added to 
print the problems on the screen 
without splitting words. 
VARIABLES 
LV= Level (1-4). 
S(I) = Ten different question types. 
S = Current question type. 
X = First number of problem. 
Y= Second number of problem. 
Z= Correct answer. 
Zl = Answer given. 
A$= Entire question. 
R$= Graphic "That's Right!" 
F$(l)-F$(5)= Five graphic lines 
that make up one face. 
N = Number to be converted to a 
string. 

N$ = Converted number as a 
string. 
Nl$= Half of N$ for large 



number conversions. 

V$ = Usually a verb. 

Vl$= Equal or similar word. 

0$= Object. 

01$= Plural Object. 

02$ = Group or club. 

C$= Another object. 

Cl$= Plural of C$. 

S$= Subject. 

Sl$= Pronoun for subject. 

PI= PI. 

CI = Number of correct answers. 

C2 = Number correct last time. 

T= Total completed. 

E,E3,E2= Printing variable for 

neat printing. 

A3$ = Spots, lines, etc. 

X1,Y1,X,Y= Design variables. 

Line Commentary: 

There are four different segments: 

1. Selection of problems; 

2. Problem Creation; 

3. Problem Printing; 

4. Graphics. 

1. Selection Process: 
Lines 400 — 580 set up selection 
variables S(0)-S(9). These choose 
between question types 1 to 7. In 
each set of ten questions there will 
be two questions of each type 
equal to level, level + 1, level + 2, 
Level + 3. The remaining questions 
are chosen at random but must be 
less than the maximum type 
(level + 3) and no more than three 
of any one type are in any ten 
questions. 

Lines 600 — 640 do the picking of 
question types from the 
unanswered values (non-zero) of 
S(I). 



2. Question Creation: 

This is obviously the largest section 
by far. Subroutines for insertion of 
variables extend throughout the 
program. Locations for each of the 
seven question types are: 

5000 — Question #1 

8000 — Question #2 

2000 — Question #3 

2200 — Question #4 

12500 — Question #5 

12500 — Question #6 

14000 — Question #7 
Lines 7000—7530 Create string 
values of the numbers for insertion 
within the program. 

3. Question Printing: 
Lines 10000—10090 Do the 
printing. Starting at the maximum 
line length (32), it looks for a 
convenient spot to end a line, a 
space or dash. Then it continues 
on the next line where it left off on 
the last. 

4. Graphics: 

The graphic codes are contained in 
data statements on lines 11200 and 
12210 for "THAT'S RIGHT!" 
and 12220—12260 for the faces. 
When the program is run, it first 
executes lines 11000 — 11125 where 
the graphic codes are loaded into 
R$ for "THAT'S RIGHT" and 
F$(l)— F$(5) for the face, then 
later lines 11300—11390 put 
together as many faces as 
necessary and print them. 

At the end of ten questions, line 
5530 decides what sort of comment 
to make. If fireworks are in order 
lines 5700—5840 supply them. 



2 'WORD PROBLEMS 


580 ff S(9)=S(8) OR S(9)<1 GOTO 560 


1 'By Denslo Ha«lin, Jr. 


590 'SELfCnON ROUHNE 


6 "»1 Halmt Ave., E.Fsrningdale, N.Y. 11735 


600 I=««)(10) 


e 'COPYRIGHT 1979 


610 S=S(I-1) 


3flCLS 


620 IF S=0 GOTO 600 


100 CLEAR lOOOiDEFINT EtRAMXlH 


630 S(I-l)=fl 


no GOTO UDDO 


610 ON S GOTO 5000,8000,2000,2200,12000,12500,11000,11500 


m INPUT"l»ttT IS YOUR DESIRED LEVEL OF QUESHONS (M)";Ly 


650 STOP 


^10 IF LV<1 OR LVM GOTO 100 


2000 I=RND(3) 


500 FOR I=OT07 


2002 F D2 GOTO 2007 


510 S(I)=LV+INT(I/2) 


2001 Z=RM)C6iLV+2)-1:Y=RM)(5iLV+2):X=Z+Y 


520 focn 


2005 01»=0«:F YOl 01«=OU+"S" 


530 X=RM)(S) 


2006 ON I nnSIJB 9090,9100:GOTO 2008 


510 S(8)=LV+X-2 


2007 X=«W)(5iLV+3)!Y=RM)(1«LV)+2:Z=Y+X!R0SUEi 9110 


550 F S(8)<1 GOTO 530 


2008 S=RM)(12):0N S GOSUe 6000,6010,6020,6030,6010,6050,6060,60 


560 X=RND(5) 


70,6080,6090,6095,6098 


570 S(9)=HHX-2 


2009 S3i=S» 



38 



SoflSidc DECEMBER, 1980 



2010 I=RM)(12) 

2020 IF I=S GOTO2010 

2030 ON I COSie 6000, 6010, 6020, <i030, 60^0, 6050,6060, 6070, 6080, 608 

0,6090,6095,6098 

2010 I=RND(9) 

2050 ON I GOSUB 9000,9010,9020,9030,9010,9050,9060,9070,9080 

2060 01$=0$!F XOl THEN 01»=0$+"S" 

2070 N=X:G0aJE: 7000 

2075 01*=0«:iFX>lTHEN01i=OU+"S" 

2080 A»="A "+S3$+" HAS "+N»+01$+". A "+S$+" HAS " 

2090 N=Y;GOSUe 7000 

2100 A*=A»+N»m+" "+G1$+". HOW MANY "+01»+" DOES T* " 

2110 A«=A$+S»+" HAVE" 

2120 GOSUe 10000 

2130 INPUT zi:c«=o«:ci»=oi$ 

2110 GOTO 5300 

2200 Z=fiND(1iLV+3)+l!Y=RND(lxLV+2) 

2210 X=Z+Y 

2220 E=«W)(3) 

2230 ON E GOSUE: 9120,9130,9110 

2210 S=RND(6) 

2250 ON S GOSUe 9000,9010,9020,9030,9050,9060 

2260 S=RI©(12) 

2270 ON S GOSUB 6000,6010,6020,6030,6010,6050,6060,6070,6080,609 

0,6095,6098 

2310 A»="A "+S$+" HAD " 

2320 N=X!GOSUB 7000 

2330 01»=0»:iF XCl 01$=O$+"S" 

2310 A»=A$+N$+"RED "+01$+". "+V$+" " 

2350 N=Y:GOSte 7000 

2360 M=Mm 

2370 01$=0»5IFY>1T>CN01$=0»+"S" 

2380 A«=A$+01$ 

2390 IF (Y=l) OR (E=3) TICN A1$="HAS" ELSE A1»="HW€" 

2391 A»=A$+" "+A1$+" " 

2392 S=RND(1);0N S GOSUB 2830,2810,2850,2860 

2391 A$=A$+" ON THDI. HOM MANY "+0»+"S DOES THE "+S»+" HAVE" 

2100 REH 

2U1 F LV>1 m RM)(0)<.18 THEN 2800 

2102 IF E=2 THEN A«=A$+" WITHOUT "ELSE A»=A»+" KITH " 

2101 A»=A$+A3$ 
2110 GOSUB 10000 

2120 INPUT zi:c»=o$:ci»=o*+"S" 

2130 GOTO 5300 

2800 Z=Y 

2810 IF E=2 THEN A»=A»+" WTH " ELSE A»=A$+" WITHOUT " 

2820 GOTO 2101 

2830 A3»="WHITE SPOTS" :A«=A»+"LITTLE "+A3*:RETURN 

2810 A3$="GREEN FUNGUS"!A»=A»+A3$;RETURN 

2850 A3»="WnE fW8<S":A»=A*+"L0NG "+A3$tRETURN 

2860 A3»="MUD SPOTS" :A«=A$+"DIRTY "+A3«;RETURN 

5000 S=RND(12) 

5010 ON S GOSUB 6000,6010,6020,6030,6010,6050,6060,6070,6080,609 

0,6095.6098 

5020 X=«M)(3iLV+6) 

5030 C=RND(3) 

5010 ON C GOSUB 6100,6110,6120 

5050 I=«ND(1) 

5060 ON I GOSUB 6130,6110,6150,6160 

5070 Y=RM)<1»LV+5) 

5080 Z=X+Y 

5090 CLS 

5190 PRINT(»t$(23)'.A$="A "+S$+" HAD " 

5110 N=X: GOSUB 7000 

5120 A»=A»+N$ 

5130 F X=l THEN LET A»=A$+C$ ELSE LET A»=A«+C1» 

5110 A»=A*+". " 

5150 F RND(0)<,3 GOTO 5200 

5160 A*=A»+S1$+" " 



5170 A»=A$+"THEN "+V$+" " 
5180 N=Y5G0SUB 7000 

5190 A$=A»+N$ 

5192 F Y=l TtCN LET A$=A$+{;$ ELSE LCT A»=A$+C1$ 

5191 A«=A»+". " 

5196 A»=A$+"HOW MANY "+CW+" DOES THE " 

5198 A»=A$+ S$+" NOW HA\E":G0SUB 10000 

5199 INPUT Z1;G0T0 5300 

5200 F S06 THEN LET A»=A*+"THE "+S$+" " ELSE GOTO 5160 
5210 GOTO 5170 

5300 F Z1=Z GOTO 11300 

5310 PRINT;PRINT"N0 "5 

5320 PRINTSUJ 

5330 PRINT" DOESN'T HAVE";Zr, 

5310 F Zl=l THEN PRINTC$JELSEPRINTC1$5 

5350 PRINT". ":printsi$; 

5360 PRINT" HAS "',r,","',Q*="" 

5370 Q»=IM<EY$:F 0*="" GOTO 5370 

5375 T=T+1 

5378 F T=10 GOTO 5500 

5380 GOTO 600 

5500 CLS 

5510 PRINT CH»(23) 

5520 F C1=0 GOTO 5510 

5530 ON CI GOTO 5510.5510,5600,5600,5600,5610,5610,5700,5700,580 



5510 PRINT"OUT OF THE LAST TEN 

PROBLEMS YOUR SCORE ISV 

5550 PRINTC15" RIGHT OUT OF "Tr'PROBLfMS" 

5560 INPUT"00 YOU WANT TO TRY 

AGAIN" ;Q$ 

5565 f left*(m,1)="n"end 
5570 C2=ci;ci=o:t=o:goto ioo 

5600 PRINT"N0(T BAD" 

5602 F C200:FC1>C2 PRINT"BETTER TJW< LAST IDE" 

5605 GOTO 5510 

5610 PRINT"\tRY G00D!":G0T0 5510 

5700 CLS'.FOR I =0 TO 61 

5710 X=61+IiSIN(I/1) 

57Z0 Y=21+.33iIiC0S(I/1) 

5725 Xl=61-IiSIN(I/1) 

5728 Yl=21-.33iI«C0S(I/1) 

5730 SET(X,Y) 

5732 SET(X1,Y1):SET(X,Y1):SET(X1,Y) 

5710 NEXT 

5750 PRIMTB175,"nSUPERi«"5 

5760 FOR 1=1 TO 1500 :NEXT 

5770 CLS!PRINTCHRt(23):G0T0 5510 

5800 cls:fdr 1=0 TO 61 

5810 X=61+IISIN(I) 

5820 Y=21+.33iIiC0S(I) 

5830 SET(X,Y) 

5810 NEXT 

5B50 FOR 1=1 TO 5flO:NEXT:PRIHTe512."ilOi"} 

5660 FOR 1=1 TO 1000:NEXT:GOTO 5700 

6000 S»="BW) HnCH":Sl»="SHE":RETURN 

6010 S$="HOIttN"!Sl»="Sf€"!RETlJRN 

6020 S$="QUEEN":S1»="SHE" '.RETURN 

6030 S»="GI3a."JSl»="S>t":RETURN 

6010 s»="lady";si«="she":return 

6050 S*="PRETTY YOUNG GIRL";S1$="SHE";RETURN 
6060 S$="PRINCESS"*.S1$="SHE":RETURN 

6070 s»="man":si*="he";retlrn 

6080 S»="StWi. BOY":Sl»="HE":i€TURN 
6090 S»="KING":S1$="HE" '.RETURN 
6095 S$="PRINCE";S1»="HE":RETURN 
6098 S»="C0WB0Y"!S1»="HE":RETURN 
6100 C»="PE>t<Y":Cl»="PENNFS"JRETURN 

6110 C»="CENT"!C1*=C*+"S"JRETURN continued on next page 



SoflSide DECEMBER, 1980 



39 



61ZB C$="0CLLi«"5Cl«=C»+"S":RETURN 


8160 M=Mm 


6130 V$="F0UND":RETIJRN 


8170 IF N<2 THEN LET A$=At+C$ ELSE LET A»=A»+C1» 


6140 \)%="W& giuen":kliurn 


8180 A»=A$+". " 


6150 W$="B«MED" '.RETURN 


8190 AV=A$+"HOH IWNY "+C1$+" DOES THE "+S$ 


6160 ^'•PICKED UP":RETURN 


8192 A»=A»+" NOW HAVE"{RnSll! 10000 


6170 V»="L0ST":RETURN 


8193 INPUT Zl 


6172 V$="DR(3PPED":RETURN 


8194 GOTO 5300 


6174 V*="L£FT BEH]M)":RETURN 


8200 GOTO 5000 


6176 V»="HASTED":RETIJRN 


9000 0$="M>PLE";RETURN 


6178 V»="SPEMT"JRETll»l 


9010 0$="FRUn"5l€TURN 


6180 V»=STR»(RND(5)+l)!W="f«IRHT"+V»+" APPLES FQR"JRET11RN 


9020 0*="eMWW": RETURN 


6182 V$="GAi^ AHAY":RET1JRN 


9030 0»="HART" '.RETURN 


6184 V$="D(»WTED TO »««nY" '.RETURN 


9040 0»="FROG": RETURN 


7000 restore:f n=o let N»="ZER0 '".KLIURN 


9050 0»="GAME";RETURN 


7002 ff ra«)(0)>.93T>€N N1$=STR$(N):N*=RIGHT$(N1$,LEN(N1»)-1)+" " 


9060 0$="TOY"tRETURN 


iVEWlKH 


9070 0»="CAT";RETURN 


7003 IF LV>1 GOTO 7500 


9080 0*="DOG":RErURN 


7005 F N>19 goto 7200 


9090 V$="LESS"!RETURN 


7010 FOR 1=1 TO N 


9100 V$="FEWER"! RETURN 


7020 REM) Nt 


9110 Vi="HORE"; RETURN 


7030 NEXT 


9120 V$="ALL BUT"!RETURN 


7040 RESTOREJRETURN 


9130 V»="ONLY" '.RETURN 


7100 DATA 0I€ ,THO .THREE .FOUR ,FM .SIX .SEVEN .EIGHT .NINE . 


9140 V»="ReY Wt EXCEPT" IRETURN 


TEN .ELEVEN .THEUt .THIRTEEN .FOURTEEN .HF ItLN 


9999 'TEXT PRINHNG ROUHNE 


7110 DATA SIXTEEN .SEVENTEEN .EIGHTEEN .NINETEEN .BCNTY.THIRTY 


10000 CLS:El=i:PRINTC»t*(23); 


,FORTY,FFTY,SnTY,SEVENTY.EIGHTY.NI(CTY,Ott HUNDRED 


10010 E4£N(A$) 


7200 FOR I=2T0 10 


10028 PRINT:E3=€1+30 


7210 Il=10il 


10030 F E3>E let E2=E:GOT010070 


7220 ff N-IKIO GOTO 7250 


10040 FOR E2=€3 TOEl STEP-l 


7230 icxn 


10050 A1»=HID*(A$,E2,1):F A1»=" " OR Al»="-" GOTO 10070 


7235 F N<119 GOT07250 


10060 mj E2 


7240 N»=STW(N)+" "tRtlURN 


10070 PRINT HID$(A$.E1.E2+1-E1); 


7250 REST0RE:F0R J=1 TO 19 


10080 E1=E2+1;F E20E GOTO 10020 


7260 READ N( 


10090 RETURN 


7270 NEXT J 


11000 'THAT'S RIGHT ROUTINE 


7280 FOR J=2TOI1/10 


11010 FOR 15=1 TO 28 


7290 READN$ 


11020 REM) X« 


7300 NLXI J 


11030 NEXT 15 


7310 KLSIURL 


11040 FOR 15=1 TO 71 


/320 F n-ii=o:n»=n«+" ":return 


11050 REM) X 


7330 FOR J=1T0N-I1 


11060 R«=R$+CHR«(X) 


7340 REMNl* 


11070 NEXT 15 


7350 NEXT J 


11080 FOR 1=1 TO 5 


7355 F N>10fl THEN N$=N«+" MO "+«1$'.RETURN 


11090 FOR 15=1 TO 11 


7360 N*=W+"-"+NU 


11100 READ X 


7370 REn«N 


11110 F$(I)=F»<I)+CH»(X) 


7500 F N=12 m> RND(0)>.3 N<="A DUZtN "tRETURN 


11120 ICXT I5:NEXn 


7510 F »=6 AND (RND(0)>.8 W© LV>3) THEN N«="A HALf OF A DOZEN 


11122 RESTORE 


"".RETURN 


11125 GOTO 400 


7520 F N=24 M» LV>3 THEN F RND(0)>.8 N$="THO DOZEN "tRETlRN 


11130 N=2: GOTO 11300 


7530 GOTO 7005 


11200 DATA 196,131,131.151.131.129.128,149.200.176.181.144,128.1 


8000 S=RM)(12) 


36,129,160.140,198.191,179,187,132,128,144.196.170.195.176.181.1 


8010 ON S GOSt£ 6000.6010,6020,6030,6040.6050.6060.6070,6080,609 


44.197,191.10 


0.6095,6098 


11210 DATA 198,149,195,151,131,188,128,136,179.153,144,194,149.1 


8020 C=«M)(3) 


96.160.153.198.191.128.137.144,128.148,128.166,185,128.170,131,1 


8030 ON C niKilR 6100,6110,6120 


69.194,149,198,179,10 


8040 I=RM>(0) 


11215 DATA 232,164,154 


8050 F K.l GOTO 8200 


11220 DATA 128,176,188,191,191,191,191,191,188,176,128 


8060 I=RND(8) 


11230 DATA 188,191,191,188,159,131,175,188,191,191.188 


8070 ON I GObUB 6170,6172,6174,6176,6178,6180,6182,6184 


11240 DATA 131.143,183,155,143,143,143,167.187.143.131 


8080 X=RM)(3iLV+6) 


11250 DATA 128.128,131.131.143.143,143,131,131,128,128 


8090 Z=RI©(4«LV+3) 


11260 DATA 191,191,191,191,191,191.191,191,191,191,191 


8100 Y=Z+X 


11300 CLS:T=T+1!C1=C1+1 


8105 CLS:PRINTCH^(23)', 


11303 N=C1!I=1 


8110 A»="A "+S$+" 0»CD " 


11305 F Cl>5 THEN I=2;N=5 


8120 N=Y:nnap zooo 


11308 FOR 11=1 TO I 


8130 A»=A$+N*+C1»+". " 


11310 FOR J=l TO 4 


8140 A$=A»+S1$+" "+V«+" " 


11320 FOR Kl=l TO N 


8150 N=X: GUSUB 7000 


11330 PRINF$(J)}" "; 



40 



SoflSide DECEMBER, 1980 



lia-JO NEXT Kl 


12610 ON I GftSIF 13160,13170,13180 


11350 PRINT 


12650 I=RND(3) 


11360 NEXT J:N=C1-5 


12660 ON I GOSUB 13190,13500,13510 


11365 PRINT '.NEXT II 


12670 A»=A»+" THE "+0U+" INTO "+02»+". " 


11370 prm:printr» 


12680 IF RND(0)>.15 THEN A»=A*+"t»CN " ELSE A»=A»+"AFTER " 


11380 FOR 1=1 TO 2000 '.NEXT 


12690 F F!ND(0)>.3 THEN A»=A$+S1$ ELSE A»=A$+S» 


11390 IF T=10 THEN 5500 ELSE 600 


12700 A»=A»+" HAS DONE, "+S1$+" NOHCED TWT THERE HERE " 


11999 'QUESnONS 6 ASB FGU.OH 


12710 X=fiND(LVi3)+l 


12000 I=RND(3) 


12720 N=X; i;iNF 7000 


12010 ON I GOSUe 13090,13100,13110 


12730 A»=A»+N»-KJ2$+" EACH WITH " 


12020 A»=A$+" OF THE " 


12710 F RM)(0)>.5 THEN A$=A$+"PISCISELY" ELSE A*=A»+"EXACTIY" 


12030 X=R«)(3xLV+2);iFX<2GOT012fl30 


12750 Y=RND<2«LV)+1 


12010 N=X:aJSUE:7fl00 


12760 N=Y!GOSUEi 7000 


12050 A»=A$+N$ 


12770 A$=A$+" "+N»+01$+". HOW MANY TOTAL "401»+" ICRE THERE" 


12060 I=RND(9) 


12771 F ER=1 TtCN ER=fl: «KitFl lOOlfltGOTO 12780 


12070 ONI \mitf 13000,13010,13020,13030,13010,13050,13060,13070, 


12778 MIKIIB 10000 


13080 


12780 Z=XiY 


12080 A»=A$+S» 


12790 INPUni 


12090 IF 02$="P^TY"THENA»=A«+" AT THE "+02$5S3*="CHILD":GOT0121 


128O0 F Z1=Z GOTO11300 


10 


12810 PRINT:PRIMT"N0, there AREN't "JZIJ 


12100 S3$4.EFT$(S$,LEN(S$)-1) 


12820 F ZK2THEN PRIMTO${ aSE PRINTOl*} 


12102 IFRIGHT$(02$,1)="TEAH"THEN A»=A»+" ON"ELSE A»=A$+" IN" 


12830 PRM".";PRIMT"THERE ARE "{Z}" "; 


12101 A*=A$+" TfC "+02» 


12810 F Z<2 THEN PRINTO**, ELSEPRM 01*} 


12110 I=»«)(3) 


12850 PRINT".":i»=INKEY»5Q*="" 


12120 ON I raw IP 13120,13130,13110 


12860 GOTO5370 


12130 I=RND(2) 


13000 S»="BASEWtL PLAYERS":02$="TEAM"!KL1UIW 


12110 ON I UUSUB 13112,13111 


13010 S$="SOCCER PLAYERS" :02$="TEA«" '.RETURN 


12150 01»="" 


13020 S$="B0YS":02»="BASEBALL TEAM":RETURN 


12160 I=RND(12) 


13038 S»="GIRLS":02$="S0FTBALL TEA«"JRETURN 


12170 ON I GOSUB 13150,13160,13170,13180,13190,13200,9000,9010,9 


13010 S«="B0YSC0UTS";02»="TR0UP" {RETURN 


020,9010,9050,9060 


13050 S»="GIRLSC0UTS":02$="TTi[0UP":RETUI»( 


12180 01»=0$+"s" 


13060 S*="RU(«CRS":02*="TRACK TEAM":RETURN 


12185 IFLEn»(A$,3)="Wl"THEN A»=A$+" mX. "ELSE A$=A»+" HAS " 


13O70 S$="STU0ENTS"!02*="CLASS"!RETURN 


12190 Ai=A$+Vl$+V»+" OF "+01*+". " 


13080 S$="CHILDREN":02»="PARTY":RETUW< 


12200 F RND(0)>.199 GOTO 12300 


13090 A«="EVERY ONE"! RETURN 


12210 Y=RND(LV«3)+2 


13100 A»="EACH Olt"!RtlURN 


12220 Z=XiY 


13110 A»="WJ.":RtlURN 


12230 N^YIWISIR 7000 


13120 V$="NUMbtR":RETURN 


12210 I=RND(5) 


13130 V$="W«JKT" {RETURN 


12250 ONIGOSUei3210, 13220, 13230, 13210, 13210 


13110 V$="QUANTTTY" '.RETURN 


12260 A»=A$+" HAS "+N$ 


13112 V1»="AN EQUAL "{RETURN 


12262 IF Y>1 TICN A»=A»+01$+". "ELSE A»=A»+0»+". " 


13111 V1$="THE SAME "{(CTIRN 


12270 A»=A$+"HOH (WNY "+01$+" DO " 


13150 F S*O"S0CCER": F S»0"GIRLS"THEN 0*="BASEBALL" ELSEO*=" 


12280 I=RND(2) 


SOFTBALL" {RETURN 


12290 ONIGOSUB13260, 13250 


13152 F S$="SOCCER" 0»="SUUBI BALL" 


12292 A»=A«+" m^" 


13151 RETURN 


12291 GOSUB 10000 tlNPOTZltGOTO 12800 


13160 0$="KITE" {RETURN 


12300 A»=A$+"T>€Y WD A TOTAL OF " 


13170 0$="SOCK" {RETURN 


12310 Z=RND(LVi3+2)+l 


13180 0*="RUE8£R BAI«"{RETURN 


12320 y=zix;n=y 


13190 0$="CAM)Y W«" {RETURN 


12330 RnSIF7000 


13200 0$="PENCIL" {RETURN 


12310 A$=At+N»+01»+". " 


13210 A»=A*+"ONE OF TJ€ "+S${RtlURN 


12350 Ai=A»+"HOH MANY "+01«+" DOES " 


13220 A»=A$+"»E "+S3${RETURN 


12360 I=RND<3);0N I ROSIF. 13270,13280,13290 


13230 A«=A»+"A "+S3*{KtlUW< 


12370 A»=A$+" HAl^" 


13210 S2»=S*{F LEFT$(S»,1)0"GIRL" THEN I=RND(3){0N IGOSUB 1330 


12380 GOTO 12291 


0, 13310, 13320{GOTO 13212 


12199 'QUESnON 5A FOLLOWS 


13211 I=RND(3){0NIG0SUB 13330,13310,13350 


12500 I=fiND<6) 


13212 F 02»<>"P/«TY"THENA$=A»+S»+" IS A MEMBER OF 1* "+02^". 


12510 ON I WMF 13300,13310,13320,13330,13310,13350 


"+S1» ELSE A«=A$+S$+" IS AT THE PARTY. HE" 


12520 RAMX]H 


13211 S*=S2${RETURN 


12530 I=fiND(8) 


13250 A»=A»+"THEY ALL"{KtlURN 


12510 ON I GOSUB 13150,13160,13170,13180,13190,13200,9000,9020 


13260 A»=A»+"ALL OF THEM"{RETURN 


12570 0U=O»+"S" 


13270 A$=A$+"ONE OF THE "+S*{RtlURN 


12580 A»=S$+" IS SETTING UP A " 


13280 A$=A»+"EACH OF THE "+S«{ktlURN 


12590 I=RW)(3) 


13290 A*=A»+"ONE "+S3${ktIURN 


12600 ON I GnSUB 13150,13110,13130 


13300 S$="JOHN"{SU="HE"{W:IUWI 


12610 A$=A$*02$+" OF "+01»+". " 


13310 S»="BILL"{Sl$="HE"{RtlURN 


12620 IF RND(0)>.32 THEN A«=A»+S1*+" " ELSE A»=A$+S»+" " 


13320 St="DENNY"{Sl»="HE"{RETURN 


12630 I=RND(3) 


13330 S»="JWW"{SU="SHE" {RETURN continued on next page 



SoflSide DECEMBER, 1980 



4/ 



13310 S$="ELIM«ETH":S1$="SHE" '.RETURN 


11190 (»=INKEY$:Q$="";GOT05370 




13350 S$="(UIS0N":S1«="SHE":RETIJRN 


11200 Z=RND(12) 




13'HO 02»="Cn(WTiR";i<tlURN 


11210 Y=Z«X;N=Y!GOSIB7000 




n-HO 02»="DISPLAY":RETURN 


11220 A»=A$+"HOH Wtfi "^01»+"S HTI 1 H TAKE "+S$+" TO 


"+V»+" "+N 


13150 OZ»="STWC"! RETURN 


$+0* 




13m OZ*="mf/WS";fi£TlJRN 
13170 02$="ROHS":RETURN 


11230 F Y>1 THENA$=A$+"S" 

11210 Rnsp looflOJiNPuni 




13160 02«="'LDCS"; RETURN 


11250 IFZ1=ZTHEN11300 




13190 M=A«+"M%RMffiES":KLIURN 


11260 PRINT"NO, H HILL TW<E"!Z;OU} 




13500 A»=A»+"LINES UP":RETURN 


11270 FZ>lTHEIfiaNT"S"5 




13510 A$=A«+"SETS UP":I€TURN 


11280 GOT011180 




13990 'QULSIION 7 BEGINS HERE 


11500 V$="EAT"; RETURN 




11000 X=RND(6):0NXGOSt£ 13300,13310,13320,13330,13310,13350 


11510 V»="BRE/«"; RETURN 




11010 I=4M)(8):ONIGOSUB 11500,11510,11520,11530,11510,11550,1156 


11520 V«="tW<E"; RETURN 




0,11570 


11530 V»="BUILD":RETURN 




11020 fl$=S»+" CAN "+V« 


11510 V*="CONSTRUCT"; RETURN 




11030 ff V«="DRH^"THEN1162fl 


11550 V$="FIND" {RETURN 




11010 F V»="EAT"TtCNI=RND(5):ONTfinS(R9000,9010,9020,9010, 13190; 


11560 V$="PAINT" '.RETURN 




GOTO 11060 

11050 I=RND(7):0NI (mft 9050,9060,13160,11580,11590,11600,11610 


11570 V»="DRiyE" {RETURN 




11060 X=4»()(5iLV-5):N=X:GO5UB7000 


11580 Ot="HOME" '.RETURN 




11062 F X<3 THEN11060 


11590 0»="CAR" {RETURN 




11070 A»=Ai+" "+N«-H»+"S " 


11600 0»="TAHF" {RETURN 




11080 I=fi»O(3):0NTmSIR11630,11610, 11650 


11610 0*="CHAIR" {RETURN 




11090 I=RM)(7):OMIGOSUB11660,11670, 11680, 11690, 11700, 11710,11660 


11620 F RND(0)>.5 THEN0»="«T1 F"aSEO»="KIL»CTER" 




11100 A$=A»+V1$4{)1$+". " 


11625 GOTO 11060 




11110 F l9O(0)>.5 Tt€N 11200 


11630 V1»="EACH "{RETURN 




11120 Y=»l)(LV«1):N=YJGOaJB7000 


11610 V1»="B«RY "{RETURN 




11130 z=xiy:a$=a$+"hoh ma "+o«+"S can "+s$+" "+v$+" in "+n$+oi 


11650 V1«="PER "{RETURN 




( 


11660 01»="H0UR" {RETURN 




11135 FY>1THENA$=A»+"S" 


11670 01$="SEC0M)" {RETURN 




11110 [mm lOOOO'.INPUTZl 


11680 0U="HINUTE"{RETIRN 




11150 F Z1=Z nCN1130fl 


11690 01»="DAY" {RETURN 




11160 PRINT"NO, ";S»5" CAN "JV$|Z;0»! 


11700 01»="HEEK"{RETURN 




11170 IFZ>1 THE»ff1«INT"S"! 


11710 01$="YEAR"{[^URN 


© 


11180 PRINT"." 


61000 'LAST dODFIED 9/1/80 



Word Problems 
Apple Conversion 

Word problems can be converted 
to the Apple more easily than most 
S-80 programs. The changes to 
watch for are with the RND 
function, the ELSE clasue, and the 
graphics. The RND function on 
the S-80, if written RND(N), will 
give a random integer from 1 to N. 
Since it's used a lot in this 
program, the best solution to 
converting it may be to use line: 

100 OEF FNR(X)=INT(RND(l)iX)+l 

and substitute FNR for RND 
wherever RND appears. The only 
exception would be when RND(O) 
is used, which does the same thing 
as RND(l) on the Apple. It's also 
not too difficult to deal with the 
ELSE clause in an IF statement. 
Suppose the following sequence 
occurs: 

10 F X=l THEN HONT "A" ELSE PRINT "B" 

28 PRINT "C" 

To get aroimd the ELSE clause, use: 



The graphics will involve a little 
more work to convert. The SET 
commands used draw a smiling 
face for each problem that was 
answered correctly. They also 
display the words "That's right!" 
in large letters. Use your 
imagination for displaying 
anything you want in its place. 



The other commands to watch 
are CLS, which is the same as 
HOME, PRINT CHR$(23), which 
switches to large characters and 
can be omitted, PRINT®, which 
positions the output as HTAB and 
VTAB do, and INKEYS, which is 
basically the same as GET. ' is 
also a shorthand for REM. 



10 F X=l THEN PRINT 
15 PRINT "B" 
20 PRINT "C" 

42 



GOTO 20 







all 



you do r"s 



argue " 



SoflSide DECEMBER, 1980 



MISSILE EVASION 



by Thomas Harleman 

Missile Evasion is a 16K S-80 
program. 

How many times have you left a 
pinball arcade wishing your 
TRS-80 could be more exciting? 
There are a few games that could 
be exciting on a Level II computer 
and this is one. 

A maze appears and is filled 
with Plutonium pellets, each worth 
ten points. The object of the game 
is to gather all of the pellets from 
the maze into a space vehicle. 
Having only a limited fuel supply 
urges the player to concentrate on 
scooping up the pellets and wasting 
little time. A missile appears at the 
top of the maze and quickly begins 
guarding the pellets by patrolling 
the maze. If no wall separates the 
missile and spacecraft, the missile 
can "see" the ship and 
immediately moves in for the kill. 
Should the player successfully 
complete his mission, he is 
rewarded with an extra thirty 
points added to his total. The 
maze is again filled with pellets, 
now worth twenty points each. 
However, the increased value of 
the pellets brings two missiles out 
to patrol the maze. The game is 
over when one of two things 
happens: 

1) Both sets of pellets are 
successfully retrieved; or 

2) The missile terminates the 
mission by destroying the 
spaceship. 

The Level II TRS-80 uses a 
BASIC interpreter. BASIC 
interpreters are slow. Poor 
programming habits also slow 
down the execution of a program. 
Level II is here to stay, so 
programming style is very 
important. Here are some 
techniques we used to keep the 
game moving: 

1 ) The main body of the program 
is at the beginning. When the 
interpreter encounters a GOTO or 
a GOSUB, it begins its search for 
the line number with the first line 
of the program. 

2) Multiple statement lines reduce 
the number of lines the interpreter 
must search for a GOTO or 
GOSUB. 




3) Boolean algebra - Comparing 
the value of the variable C with 
the integer 8 (C AND 8) takes less 
time than figuring out whether C 
equals 8. 

4) Defining all numeric variables 
as integers reduces the precision 
the computer will have to work 
with. 

5) Building strings of graphic 
characters and then printing them 
is much faster than SET and even 
faster than POKE. This is because 
the BASIC interpreter has to do its 
work for each SET or POKE. On 
the other hand, the interpreter has 
only one job to do with a 
character string: Print it. 

It takes good timing to turn at 
just the right moment to get 



through a doorway. Don't get 
discouraged if you have trouble 
turning in time. That is what 
makes the game exciting. Besides, 
you will master that ability 
quickly. Missing a turn does use 
up valuable fuel. And if a missile 
is hot on your trail, the game 
could end prematurely. 

There are three levels of 
difficulty to allow beginners the 
opportunity to experience the thrill 
of victory. Nonetheless, an 
experienced player will not want to 
deprive himself of the game's 
challenge by playing less than the 
most difficult level. That mode, 
HOT SHOT, allows just enough 
fuel to pick up all the pellets. 



10 ROt 
20 REM 
29 REM 



MISSILE EVASION G(¥C - VER 1.1 05/10/80 
HARLEMAN BROS. SOFTH(«E SEYMOUR, IN V271 
910 INTRODUCES THE PROGRAM. IT IS OUT OF TIC t«Y 
THERE. THIS MIL fMKE THE PROGRAM OPERATE FASTER 
BECAUSE E^Y GOTO OR GOSUB BEGINS SEARCHING AT THE 
BEGINNING OF THE PROGRAM. 
LEAVE OUT ReWRKS TO SPEED UP GAME. 
30 GOTO 910 

50 for turn =1t0pl 

50 cls;sl=858:ml=9i:m=-i:li=o 

59 REM 

6^0 IS t»CRE Tt£ fWZE GRffiKiCS ARE. THEY ARE OUT OF 
TIC HAY TOO. VARI/«LE M IS MISSILE MOVEMENT (3=RIGHT, 
-3=4.EFT, 61=00«N, -61=UP). H IS HHICH MISSILE (]^\[). 
PB IS HIttT I WANT TO PUT BACK HHERE TtC MISSILE HAS. 

60 GOSUB660 ;M=0:t*=RND(1)-l!Pe=32:Y=8! 
PRINTe960, "PLAYER ♦"JTURNJtGOTOSlO 

69 REM 

TS IS TOT**. SCORE. FOR TIC FIRST Gdt. 970 IS T>C MOST 
POINTS POSSIBLE. TIC FUYER FINISHING THE FIRST SET OF 
PELLHS GETS A BONUS OF 30 POINTS OR A TOTAL OF 1000. 
THE BONUS FOR THE SECOND GfihE IS 80, A TOTAL OF 3000. 



continued on next page 



SoflSidc DECEMBER. 1980 



43 



70 ffTS=970TJCNTS=10OO 
80 IFTS=2920THEKTS=3I)00 

89 REM 

P£EK(H100) GIVES C A NUHBER FROM THE KEYBOARD F »£ 
OF TtC ARROW KEYS ARE PUSHED DOWN. 

90 C=P£EK(H^00):PRINTei85,USINGSC$;TS; 

99 REM 

NT MEANS NEXT TIME. F OfC GAME IS COMPLETED GOING TO 
1170 STARTS THE SECOND GAME. F TWO GAMES ARE FINISfCD 
SUCCESSFULLY 1210 CONCLUDES PLAYERS TURN. 

100 IFNT=0ANDTS=1000TfCN1170 
ELSEFNT=1AM)TS=3000THEN1210 

108 REM 

BOOLEAN ALGEBRA (F C AM) 8) IS HAWLED MORE QUICKLY 
TWN STANW«0 ALGEBRA (F C = 8). CONSEQUENTLY THE 
GAME MOVES ALONG AT A FASTER PACE. AND F THE TEST IS 

10? ' TRUE, THE GOTO150 BYPASSES THE UNNECESSARY FSTS. 
S IS WHICH SHF (UP.DOWN.LEFT.RIGHT): M IS SHIP'S 
MOnON (3=RT,-3=LFT,61=0N,-61=tJP)! L IS SHIP'S 
LOOK At£AD, 

110 FDW8THENS=0;M=-615L=«+1:GOT0150 
120 IFCW^)16T^CNS=l;M=61;L=ml;GOTO150 
130 IFC/M)32T»CNS=2:M=-3:L=-2:GOT0150 
HO IFCAND«1T(CNS=3:M=3:L='1 
H9 REM 

STRING«<3,32) ERASES THE OLD SHF FROM Tff SCREEN 

150 PRINTeSL,STRING»(3,32)J 

159 REM 

THESE PEEKS LOOK AHEAD OF THE SHF. IS IT Cl£AR (32)? 
IS THERE A PELLET (46)? F SO TS IS INCREMENTED BY V. 

160 IFPEEK(ME+SL+L)=32T»CNSL=SL+M:GOT0180 
170 FP£EK(fE+SL+L)=16T>CNTS=TS+V:SL=SL+« 

179 REH 

THIS PEEK CtCCKS TO SEE F THE SHF HIT A MISSILE. 

180 PRINTeSL,S$(S);.'PK=PEEK(ME+SL+L)!FPK>90AM)PK<95THEN1090 

189 REM 

THIS CHECKS TO SEE F TtC SHF IS ON A MISSILE, JUST 
IN CASE IT SLIPPED BY TfC OTtCR TEST. 

190 IFSL+1=«.T}CN1090 
200 IFSL+1=M1THEN1090 

209 REM 

Tf€ MISSILE'S LOGIC FOLLOWS.... 
F TtC MISSILE JUST TURNED A COWER, NA (NOT AGAIN!?!) 
IS SET TO ONE TO KEEP n FROM GOING IN CIRCLES. 
LINE 300 GETS H MOVING AGAIN. 

210 FNA=lTtCNNA=0:GOTO300 
219 REM 

Z COfARES J\£ SHF'S LOCAHON (SL) HUH TfC MISSILE'S 
LOCATION (ML). F THEY ^«£ NEAR »C ANOTHER THEN Z 
WILL EITHER ffi LESS TfttN 50 OR GREATER WM -50. 
(F SO THEY COULD BE ON THE SA« LI(€) 

220 Z=SL-ML+1 

230 IFZ>0A«)Z<r50THEfffK=PEEK(ME+ML+3); 

IFPK:>31ANDf1«100THENF'RINTeML,CHR«(Pe);!O=3!W=3:H=ML+D! 

pe=PK:GOTOiio 

210 IFZ>-50A«)Z<0THDfK=PEEK(ME+ML-3): 

iFPK>3iANDPK<iooTHENPraNrgN.,CHR*(PB) ; :d=-3:w=2:n.=ml+o: 
p8=PK:(aToiio 

219 REM 

Z/61 HILL RETURN AN INTEGER EQUAL TO Z F THE SHF 
AM) MISSILE ARE IN THE SAME COLUMN. 



250 Z=Z/61 

260 IF2=INT(Z)T)CNIFZ>0ANDZ<13Tfe#>K=PEEK(«+ML+61): 

FPK>31AM)PK<100THENPRINTffll,CHR$(Pe) ! :D=61:W=1 :N.=tl+D: 

pe=PK:GOTOiio 

270 IFZ=INT(Z)THEMFZ<0ANDZ>-13THENPK=PEEK(ME+ML-61); 

FPK>31AM)PK<100THEJI^INTI?ML,CHR»(PB) ; :D=-61;W=0;ML=ML+0.* 

P6=pk;gotoiio 

279 REM 

280 8 290 CHANGE Tl€ MISSILE FW)M UP ^ DOWN TO 
LEFT AW RIGHT F T>CRE IS AN OPENING OR CORNER. 

280 IFABS(D)=3TFe«<=PEEK(ME+N.+61) !IFPK>31tf«)PK<100Tte#«=i: 
ONRND(Z)GOTO310 ,300 

ELSEPK=PEEK(«+ML-61) !IFPK>31W«)PK<100THENNA=1 ! 
ONRND(2)GOTO330 ,300 
290 IFABS(D)=61T)C«<=PEEK(«+ML+3)!FPK>31WOP1«100TfCNNA=i: 
»«ND(2)G0T036G ,300 

ELSEPK=PEEK(ME+ML-3) :IFPK>31AM)PK<100THENNA=1 : 
OM»«(2)GOT0350 ,300 

299 REM 

if the missile goes on then \(twbjer has ufoerfcath 
it needs to be put back (pb) (m) whatrtr is in fkont 

of it needs to be rdcmbered. 

300 pk=feek(me+«.+d):ifpk>31andpk<17tjcnp0keme+ft,p8!ml=ml+d:pb 
=pk:gotoiio 

309 REM 

THESE TESTS CAUSE THE MISSILE TO OmX. DIRECTION F 
THE SHF IS NOT IN SIGHT. 

310 IFW=3ANDML<512TfCM>=6i:W=l!GOT0110 
320 IFH=2ANDML<512THEM)=61;H=1:GOT0110 
330 IFW=2ANDMD381THEM)=-61:W=0;GOT0110 
310 IFM=3ANWI>381T)CND=-61;W=0:GOT0110 
350 IFW=lTtCND=-3!W=2:GOTO110 

360 IFH=OTHEND=3JH=3;GOT0110 

370 ifw=othem)=6i:w=i:gotoiio 
380 ifw=it}cnd=-6i;>*=o:gotoiio 

390 IFW=2TfCM>=3:W=3:GOTO110 
100 IFH=3TJ£ND=-3:W=2:GOT0110 
110 FNT=0THEM.1=ML 

119 REM 

DISPLAY THE MISSILE. 

CfCCK FOR CONTACT WITH SHF, F SO GOTO 1090 

WHICH IS THE DISINTEGRATION OF THE SHF' AND Tt£ END. 

120 PRINT»t,M*(H);:int+D=SL+lTHEN1090 

129 REM 

CfCCK WftTHER THIS IS THE FIRST SET OF PELLETS OR TfC 
VEXJ TIft (NT). A SECOND MISSILE EtGINS HS CHASE F 
THIS IS THE NEXT TDt. 

130 IFNT<1THEN610 ELSEFN1=1THENN1=0!GOT0520 
139 REM 

THIS IS TfC SECOND MISSILE. 

THE LOGIC FOLLOWS THE SA« PATTERN AS TfC FIRST 

MISSILE. 

110 Z=SL-L1+1 

150 IFZ>0AM)Z<50THENFK=PEEK(fC+Ll+3)! 

in^31AM)PK<ieOTHENPRINTeLl,CfW(Pl);:Dl=3;Wl=3:Ll=Ll+01t 

Pl=PK!GOTO630 
160 IFZ>-50ANDZ<OTfCNPK=fEEK(ME+Ll-3): 

FPK>3lANDPK<lOOTHENF1?INTeLl,CfW(Pl);:Dl=-3:Wl=2:Ll=Ll+Di: 

Pl=Pt<:GOTO630 
170 Z=Z/61 
180 IFZ=INT(Z)THENFZ>flANDZ<13TfCNPK=PEEK(ME+Ll+61): 

FPK:>31A«)PK<100T}CNPRINTeLl ,Cf««(Pl ) ; :D1=61!W1=1 :li=li+di ; 

P1=PK.'GOT0630 



44 



SoftSide DECEMBER. 1980 



190 IFZ=INT(Z)THENIFZ<0(VCZ>-13T>CNPK=PEEK(ffi+Ll-61): 

iF?K:>3iAM)PK<iooMNPRiNTeLi ,CHR»(Pi ) ; ;di=-6i:hi=o :li=li+oi : 

Pl=PK;G0T063fl 
500 IFAeS(Dl)=3THDfK=PEEK(f€+Ll+61)!im031AN[)PK<17THENNl=l! 

ONRND(2)GOT0530 ,520 

ELSEFK=PEEK(ME+L1-61) :im031ANDPK<t7THENNl=i: 

ONFM)(2)GOT0550 ,520 
510 ffAeS(Dl)=61TfCNPK=PEEK(ME+Ll+3):iFPK>31ANDF1«'»7THEI*(l=i: 

0M<ND(Z)GOTO580 ,520 

ELSEPK=F'EEK(ME+Ll-3) :iFFK>31ANDPt«17TteWl=l ! 

ONFM)(2)GOTO570 ,520 
520 PK=reEK(«+Ll+01):iFPIO31ANDPK<VTHENP0KEME+Ll,PlJLl=Ll+0i; 

P1=PK;GOT0630 
530 IFMl=3#M)Ll<512THE)Ol=<5i:Hl=l!G0TftS30 
510 IFW1=2/M)L1<512THEM)1=41JH1=1!GOT0630 
550 IFH1=2ANDL1>381THEND1=-61:H1=0:GOT0630 
56B IFWl=3AM)Ll>381TfCNDl=-61!Hl=0:GOTO630 
570 FHl=lTHEM51=-3:Wl=2!GOTO630 
580 IFHl=0Tt£NDl--3;Hl=3;GOTft530 
590 IFW1=OMM)1=A<I:H1=1:GOT0630 
600 IFH1=1THEND1=-61:H1=0:GOT0630 
610 IFWl=2THEM)l=3:Wl=3!GOTO630 
620 IFW1=3T>£ND1=-3;H1=Z:GOT0630 
630 PRINTeLl,M»(Hl);:iai+D=SL+lTHEN1090 
639 REM 

BURN SOME FUEL, MAKE THE HUMAN SEAT! 
FU IS FUEL USAGE. H IS INCREMENTED UNTIL IT EQUALS 
THE L£VEL GF DIFFICULTY (LD). IF SO, TfC FUEL GAUGE 
GOES DOWN »E LINE. 

610 FU=FU+i;iFFli=LDTHENY=Y+i:F0RX=111TO117:RES 

et(x,y):nextx:fu=o 

650 ify=11ttoprinte825,"0ut";ch»(26);string»(2,8),"'qf";:g0t011 

20 aSE70 

660 cls:r£m 

draw maze onto screen 

670 F-RINTe980, "MISSILE EVASION"; 

679 REM 

TB» IS A STRING OF THE CENTER TWO POINTS OF TfC 
GRAPHICS BLOCK. 

DN$ IS A VERHCAL LINE OF GRAPHICS BLOCKS (CHR$(191). 
CHR$(26) MOVES THE CURSOR DOtW AND CH«(8) MOVES TIC 
n UNDER 191. 

680 TB»=STRING»(53,110):DN$="" 

690 F0RD=lT013:DN»=DNH€HR$(191)+CHR*(26)+CH«(8):fe(TD 
700 FiaNTeO,Ct#»(188);TB$;CHR*(188)i;PRINTe61,DN$; 
710 PRINTeil8,0Ni; 
720 PRINTe896,CHR«(113);n<;CHR«(113),' 

729 REM 

NOW M^ S»C aWLLER 0»CS FOR TME INSIDE OF THE MAZE. 

730 DN$="":F0RO=lTO3:DN*=DN»+CHR*(191)+CHR$(26)+CHRi(8)!^tXTD 
710 DN$=CHR«(188)+CHR'$(26)+CHR5(8)+W«+CHR$(113) 

750 TB»=STRING»(18,11fl) 

760 PRINTei35,TB$;TAB(30)TB«; 

770 PRINTei31,DN$;;PRINTei76,DN$; 

780 PRINTe518,DN«;:PRINTe560,DN$; 

790 PRINTe775,TB$;TA6(30)TB*; 

800 DN$=CHR$(188)+CHR$(26)+CHR«(8)+CHR*(191)+CHR$(Z6)+CHR$(8)+CH 

R»(113) 

809 REM 

FU» IS THE ^TICAL LINE FOR THE FUEL GAUGE. 

BIO TB»=STRDC»(12,110):FORFU=OT010! 

FU$=FU»+STRING$(2,191)+CHR»(26)+STRING*(2,8):NEXTFUJFI>=0 

820 PRINTe268,DN«;:PRINTK69,TB*;TAB(30)TB$;:PRINTK98,DN$; 
830 PRINTe521,DN$;!PRINTe551,DN$; 



810 PRINTe653,TB$;TAB(3fl)TB$; 

850 PRINTM02,ON*; !PRINTMfl8,DN»; :PRIKTM11,0N$| :PRINTM20,DN»J 

859 REM 

THESE ARE THE SHIP GRAPHICS POINTING 
IN DIFFERENT DIRECHONS. 

860 S*(0)=CHR»(110)+CHR$(131)+CHR»(110) 
870 S«(1)=CHR$(110)+CW$(176)+CHR»(110) 
880 S»(2)=CHR$(110)+CHR*(179)+CHR$(1Z8) 
890 S»(3)=CHR*(128)+CHR«(179)+CH?$(110) 

899 REM 

AM) THESE ARE THE MISSILE GRAPHICS 
POINHNG IN TIER DIRECHONS. 

900 FORP=OT03!M*(P)=CH»(91+P)!NEXTP:GOSUB1010 

909 REM 

THIS TELLS WHERE THE SCORE AND FUEL GAUGE HILL BE. 

910 PRINTei21,"SC0RE"J!PRINTe219,FU«r'FUa"J 

920 F'RINTK51,"F";!PRIMTe571,"l/2"!:PRINTe891,"E"! 
930 RETURN 
939 REM 

inhialize am) introduce the game to ttc human. 
910 clear70o;definta-y:defsngz 

950 SL=858!ML=91;ME=15360!M=-1.'V=10;SC$="««*" 
960 CLS:PRINTei70, "MISSILE EVASION 



969 REM 



DO YOU fCED INSTRUCTIONS?"; 

WAIT UNTIL A KEY IS HIT. THIS LI(t IS USED TWICE. 
FIRST FOR A YES OR NO tf» TfCN FOR THE NUMBER OF 
PLAYERS. 



970 A$=INKEY$:FA$=""TtCN970aSEIFA$="Y"ORA»="N"TttN1100 

ELSEPL=V/^(A$) :IFPL<1THEN970ELSEPRINTPL 
980 print: PRINT" LEVtL OF DIFFICULTY 

1>H0T SHOT 2>VET 3;'R00KIE?"; 

989 REM 

ANOTHER WAIT FOR INPUT. THESE ARE NICE BECAUSE 
THE ENTER KEY IS tCVER PRESSED. 

990 A$=INKEY$:FA*=""THEN990 aSELD=VAL(A*)! 

IFLD<lORLD>3TICN990 ELSEPRIMTLD:LD=LD»2+2 
1000 GOTO10 

1009 REM 

THE PELLETS (W^ TO BE PLACED EXACTLY, SO TfC DATA 
STATEMENTS TELL EXACTLY >#CRE. 

1010 RBCF,T,S;iF=OTHENRETURN 

1020 F0fiP=FTOTSTEPS;PRINT8P,".";:NEXTP:GOTO1010 

1030 DATA 67,88,3,91,115,3,201,216,3,222,237,3,713,728,3 

1010 DATA 731,719,3,835,856,3,862,883,3,131, :»7,61,179,135,61 

1050 DATA 265,393,61,301,135,61,307,135,61,515,773,61 

1060 DATA 521,619,61,557,685,61,563,819,61 

1070 DATA 105,533,61,111,539,61,117,515,61,0,0,2 

1080 RETURN 

1089 REM 

F YOU LOSE, WE CAN MAKE NICE LITTLE EXPLOSIONS 
WITHOUT MESSING THE SCREEN UP BY PRDfTING RAM)OM 
GRAPHICS EtOCKS WHERE THE SHP WAS, 

1090 PRINT8999, "DISINTEGRATING ";:F0RP=lT025:PRINTreL,CHR«( 

RND(62)+128);CHR»(RI®(62)+128);CHR$(RM)(62)+128); 

1099 REM 

AM) 1V£ MISSILE, TOO. 

1100 PRINTeSL,CHR$(RM)(62)+128);CH»(RND(6Z)+128); 

continued on next page 



SoftSide DECEMBER, 1980 



45 



CHR»(RW)(62)+128) ', '.PraNTeML,CHW<RW)(62>+128) ; : 

PRINTa.1 ,CH»(RND(62)+128) ; 
1110 >EXTP:PRINTeSL,STRING«(3,32);:PRINTe«L,CW»(32);: 

PRIWTH.1,CH»(32>;: 

PRIKTe999,"DISINTEGRflnONC(»«>LETE!"|:PRINTrei2,""; 
1120 FORP=lTO10;PRINTe960,"Q¥e OVER "', 

1130 FORT=iToioo:NExn:PRiKTe960, "PLAYER #";turn; 

IHO FORT=lT01flO:NEXn,P 
1150 PRINTe512,""; 
\m GOTO1290 

1169 REM 

F YOU WIN, A LITTLE COtOCAnON IS ALWAYS IN ORDER. 

1170 FORp=iT05o:PRiNTe999, "MISSILE self-oestructs";:fort=itoio 

1180 nextt!printe999,string»(22,32);:primteml,chr»(rnd(62)+128); 
:nextp 

1190 PRINT»l,CHR»(32);:PRIilTe999,"VERY NICE, CAPTAIN!"! 
1200 FORT=lTO500:iCXn 

1209 REM 

tfe player gets to play again, om.y with tho missms 
this n(c. 1210 puts more pellets on tfc screen, 
tfc missiles are located (ml « li) m« t« value (v) 
of the pellets is increased to 20. 

1210 m=o:restore;gosibioio 

1220 ML=151:L1=W!H=RM)(1)-1:H1=RND('»)-1:NT=1!FB=32:P1=32!V=20 

1230 printk<9,fu»;"fu";!fij=o:y=8:goto3io 

1239 REM 

F TIC SECOM) set OF PELLETS IS COMPLETED TfC MISSILES 
ARE DESTROYED AND T* PLAYER RECEIVES A PAT ON THE 

mo FORP=lTO50:PRINTe999, "SUCCESSFUL MISSION"; !F0RT=lTO10 
1250 NEXTT:PRINTe999,STRING$(19,32);:PRINTeML,CHR«(RND(62)+128)J 



1260 FRINT«.l,CHR$(WC(62)+128);.'«XTP;PRI>fT9ML,CHR»(32); 
1270 PRINTeLl,CHR$(32);:PRINTe999, "MISSION ACCOMPaSHED!"; 
1280 FORT=lTO500:t©(TT 

1290 cls:rem 

display the scoring 

1300 sc(turn)=sc(turn)+ts 

1310 F0RTS=1T0PL 

1320 PRINT"F1AYER *";TS,SC(TS) 

1330 NEXTTS 

1310 fort=itoiooo:nextt 

1350 v=io:nt=o:ts=o;fu»="":restore!cls:nextturn 

1360 F0RTS=1T0PL:PRINT"PLAYER *";TS,SC(TS)!NEXnS 
1370 PRINTe530,"CAR£ FOR ANOTHER GA*?":A$=IM<EY$;A»="" 
1380 A$=I(«<EY$'.FA$=""THEN1380 ELSEFA*="Y"THENRUN 
1390 EM) 
1399 REM 

INSTRUCnONS - YOU ALWAYS NEED TICM FOR ROOKIES. 



MOO IFA$="N"TtCNl'190 

1110 cls:print"you will guide a ship: ";ch«(ho);ch»(179); 

1120 ffam" THROUGH A SPACE MAZE TRYING TO SCOOP" 

1130 FRINT"UP PLUT0NIl*1 FaLETS " 

1110 print:print"an dcmy missile: ";ch»*(91);" will be trhng"; 
1150 print" to intercept your ship in (*i attempt to stop you." 

1160 PRINT:PRINT"T0 move TfC SHIP lf> PRESS THE ";CHR$(91); 

1170 PRINT" ARROW, DOWN TfC ";CHR$(92);" ARROW, RIGfff" 

1180 PRINf'THE ";CHR$(91);" ARROW, LEFT THE ";CfR»(93);" ARROW." 

1190 print:print" how ma players? (i-9)";: 

GOTO970 

^ 




»« BY JAMES TOLLEY * 



NFL-PIX for 1980-1981 SEASON 

Predict this Season's Games! 

******************************** 

This program will maintain weekly 
team schedules, keep track of scores 
of games played, list current Division 
win-loss standings and --- predict the probable outcome of games! It establishes 
a rolling average of strengths of all teams based on past performance. During the 
last season its prediction was 6% better than the Greek Prognosticator! 

For 16K Level II TRS-80 or Single Disk DOS - - Just $19.95 
Please specify tape or disk!! Documentation supplied with either disk or tape. 

80 U.S. Software 

3838 South Warner Street 

Tacoma, WA 98409 

(206) 475-2219 

Check, Money Order, Visa/Mastercard 

TRS-80 is a Trademark of the Tandy Corporation 



46 



80 us Software & 80 US Jour nal are Divisions of 80 Northwest Publishing Co. 
SoftSide DECEMBER. 1980 



Games from BIG FIVE will 
turn your computer into a 



SUPER NOVA 



© 




f 



"Huge ASTEROIDS have invaded the 
galaxy! Your mission is to destroy them 
and the alien saucers before they de- 
stroy you!" Our #1 top seHing game! 

$14.95 16KLevell or II 



TRS-80 
HOME ARCADE 

AHACK FORCE"^ GALAXY INVASION® 




"Eight alien ramshlps are warping down 
toward your destroyer ship. You must 
shoot them down quickly before they 
crush you'" With sound! 

$14.95 16K Level I or II 



mo 

AAAiftlliiliiliiiili* 
********** 

ffl.ffi ffl ffl ni pR wi 



"The newest and most exciting In- 
vaders-type game yet! Smooth sound 
effects, sharp graphics, and the Flag- 
ship' alien from Super Nova combine 
to make this our finest TRS-80 game!" 

$14.95 16K Level I or II 



TheSottw&are Exchange 



6 South St., Milford, NH 03055 




ORDER TOLL-FREE: 

1-800-258-1790 

(In NH call 673-5144) 



The Lazy Man's Shortcut to 
Machine 



f 



Language ! 



Tiny Comp. 




by David Bohike 

A BASIC Compiler in BASIC! Run your source program in BASIC, compile it into FAST Z-80 Code and 
execute the compiled version — all without reloading. 26 integer variables, GOTO, GOSUB, END, REM, RND, 
LET, +, *, /, IF, THEN, , =, , INKEY$, CLS, PRINT@, CHR$, PEEK, POKE, Compiled programs may be saved 
via TAPEDISK. 

Supplied with game program, "3D TIC TAC TOE", which uses all of the TINY COMP statement set and is 
ready to compile. 

Manual includes several sample programs as well as thorough documentation of the Compiler for those who like 
to know "how things work" and for those who might even wish to EXPAND on TINY COMP's capabilities. 
Tape version: $19.95 Disk version: $24.95 




b!xxJth Street, Millard, NH J(fiS 
ORDER TOLL FREE 

1-800-258-1790 

(in NH call 673.')144) 



SoftSide DECEMBER, 1980 



47 



/.^rj 



from our family to yours. 





Robitaille Marketing Group 

The Software Exchange/Hardside, 
SoftSide Publications, Ramworks 



1370 IF J = 68 THEN COL»^= O: PLOT 
32.39; PLOT 32»37! COLa^= 13 
; PLOT 31,39! COLOR= 2 

1375 IF J = 69 THEN CdOR- O: PLOT 
33,37! PLOT 33,38? COLOR= 13 
: PLOT 33.39J COLOR= 2! PLOT 
32.37;j = 

Haq dog's tail. 

1390 IF T = 5 THEN COLOR= 0'. PLOT 
25,39: PLOT 21,385 PLOT 23,3 
7', COLOR= 2J PLOT 23,39: HUN 
23,25 AT W. GOTO 1990 

1395 IF T = 10 THEN COLOR= O: PLOT 
23,39: HIN 23,25 AT W. COLOR= 
2: PLOT 21,37: PLOT 21,38: PLOT 
23,37: PLOT 21.37: PLOT 25,3 
9: GOTO 1990 

1100 IF T = 15 THEN CDLCK= O: PLOT 
25,11 : PLOT 21,12: PLOT 23,1 
3: COLOR= 2: PLOT 23,39: HLIN 
23,25 AT 10: GOTO 1990 

1110 IF T = 20 THEN COLOR= O: PLOT 
23.39: HQN 23,25 AT 10: COL0R= 
2: HLIN 23,25 AT 11 : fllN 22 
,25 AT 12: PLOT 23,13;T = 

Control the fsllinq snow flakes in 
the window. 

1190 ST = ST + i: ON ST GOTO 1500 
,1505,1510,1515,1520,1525,15 
30 

1500 ca.0R= 15: plot 6,i: plot 8 

,5: FIQT 5,8: PLOT 10,9! FIOT 
1,11: PLOT 11,11: PLOT 6,17: 
PLOT 3,18: COLDR= O: PLOT 6 
,10: PLOT 5,11: PLOT 1,20: PLOT 
11,19: PLOT 6,5: PLOT 1,10 

1502 GOTO 1990 

1505 COLOR= 15: PLOT 6,5: PLOT 8 
,6: PLOT 5,9: PLOT 10,10: PLOT 
1,15: PLOT 11,11: PLOT 6,18: 
PLOT 3,19: COL0R= O: PLOT 6 
,1: PLOT 8,5: PLOT 5,8: PLOT 
10,9: PLOT 1,11: PLOT 11,11: 
PLOT 6,17: PLOT 3,18 

1507 GOTO 1990 

1510 COLOR= 15: PLOT 6,6: PLOT 8 
,7; PLOT 5,10: PLOT 10,11: PLOT 
1,16: PLOT 11,15: PLOT 6,19: 
PLOT 3,20: CXOR= 0;; PLOT 
6,5: PLOT 8.6: PLOT 5,9: PLOT 
10,10: PLOT 1,15: PLOT 11,11 
: PLOT 6,18: PLOT 3,19 

1512 GOTO 1990 

1515 COLOR= 15: PLOT 6,7: PLOT 8 
,8: PLOT 10,12: PLOT 1,17: PLOT 
11,16: FIOT 6,20: PLOT 3,11: 

FIOT 6,6: COLOR- O: PLOT 6, 
6: FIOT 8,7: PLOT 5,10: PLOT 
1,16: PLOT 11,15: PLOT 6,19: 

PLOT 3,20 



1517 GOTO 1990 

1520 COLOR= 15: PLOT 6,8: PLOT 8 
,9! PLOT 5,12: PLOT 10,13: PLOT 
1,18; PLOT 11,17: PLOT 6,3: PLOT 
1,8: COLOR= 0: PLOT 6,7: PLOT 
8,8: PLOT 10,12: PLOT 1,17: PLOT 
11,16: PLOT 6,20: PLOT 3,11: 
PLOT 6,6 

1522 GOTO 1990 

1525 COL0R= 15: PLOT 6,9: PLOT 8 
,10: PLOT 5,13; PLOT 10,11: PLOT 
1,19; PLOT 11,18; PLOT 6,1: PLOT 
1,9; COLOR= 0: PLOT 6,8: PLOT 
8,9: PLOT 5,12; PLOT 10,13: PLOT 
1,18: PLOT 11,17: PLOT 6,3; PLOT 
1,8 

1527 ST = 

1530 COLOR= 15: PLOT 6,10: PLOT 
5,11: PLOT 1,20: PLOT 11,19: 
PLOT 6,5: PLOT 1,10; COLOR= 
0! PLOT 6,9; PLOT 8,10; PLOT 
5,13; PLOT 10,11; PLOT 1,19: 
PLOT 11,18: PLOT 6,1; FIOT 
1,9 



Test to go to the luisical portion. 

1990 T = T + 1 

1992 Z = Z + 1: IF Z = ZL T^€N Z = 
0; GOTO 2500 

Test to end the prograh. 

2000 P = PEEK ( - 16381): IF P > 

127 TO POKE - 16368,0; GOTO 

2005 
2002 GOTO 1100 
2005 POKE - 16301,0: TEXT : CALL 

- 936 
2010 VTAB 10: HTAB 9; PRINT "HW 

E A HtffY HOLIDAY!"; VIAE: 22 

: 08) 

Print 'A fferry Christnas' 
bacKqrw.ind. 

2500 HOtt ; GR : REM n TITLE i 

I 
2560 COLOR= 15: VLIN 3,7 AT II: VLIN 
2,7 AT 15; VLIN 1,5 AT 16: VQN 
1,5 AT 23: VLIN 2,7 AT 2i; VLB) 
3.7 AT 25; HIN 18,21 AT O: HUN 
16,23 AT 1: HLIN 16,21 AT 2; 
HLIN 15,21 AT I: HLIN 15,21 
AT 5: COLOR= 0: PLOT 19,2: PLOT 
20,2 
2570 COLOR- i: VLIN 11,20 AT 3; VLIN 
11,20 AT 1: VLIN 12,15 AT 5; 
VLIN 11,16 AT 6: VLIN 12,15 
AT 7; VLIN 11,20 AT 8; VLIN 
11,20 AT 9 



2575 VLIN 11,20 AT 11 : VLIN 11,2 
AT 12: HLIN 13,11 AT Ut HLIN 
13,11 AT 12: VLIN 15,16 AT 1 
3: HLIN 13.11 AT 19: HLIN 13 
,11 AT 20 

2580 VLIN 11,20 AT 16: VLIN 11,2 

AT 17; HQN 18,19 AT li: WJN 
18,20 AT 12: HLIN 18,20 AT 1 

5; HLIN 18,19 AT 16; HLIN 18 
,19 AT 17: HIN 19,20 AT 18: 
HLIN 20,21 AT 19; HLIN 20,2 

1 AT 20; HLIN 19,20 AT 13: HLIN 
19,20 AT 11 

2590 VLIN 11,20 AT 23; VLIN 11,2 
AT 21: HLIN 25,26 AT li: HLIN 
25,27 AT 12: HLIN 25,27 AT 1 
5; HLIN 25,26 AT 16: HLIN 25 
,26 AT 17: HIN 26,27 AT 18: 
HLIN 27,28 AT 19; HIN 27,2 
8 AT 20: HIN 26,27 AT 13; HLIN 
26,27 AT 11 

2600 VQN 11,11 AT 30; VLIN 11,1 
5 AT 31: VLIN 11,20 AT 32: VLIN 
11,20 AT 33: VLIN 11,15 AT 3 
1; VLIN 11,11 AT 35 

2630 COL0R= I: VLIN 25,38 AT O; HLIN 
0,3 AT 25: HLIN 0,3 AT 38 

2635 VLIN 25,38 AT 5: VLIN 25,38 
AT 8: HLIN 6,7 AT 31 : HLIN 
6,7 AT 32 

2610 WJN 25,38 AT lO: HLIN 11,1 

2 AT 25: HIN 12,13 AT 26: VLIN 
26,30 AT 13: VLIN 30,35 AT 1 

2: VLIN 31,38 AT 13; VLIN 31 
,32 AT 11 
2615 VLIN 25,38 AT 15: VLIN 25,3 

2 AT 17; VLIN 31,38 AT 19: HIN 
18,19 AT 25: HLIN 17,19 AT 3 

8: WJN 31,32 AT 18 
2618 VLIN 25,:» AT 22; HLIN 21,2 

3 AT 25 

2650 VLIN 25,38 AT 25; VLIN 25,3 
8 AT 29: W.IN 27,30 AT 26: VLIN 
27,30 AT 28: WJN 30,33 AT 2 
7 

2655 VLIN 30,38 AT 3i: VLIN 30,3 
8 AT 35: VQN 27,30 AT 32: VLIN 
27,30 AT 31: VLIN 25,27 AT 3 
3; HIN 32,35 AT 32; HLIN 32 
,35 AT 33 

2660 VLIN 25,32 AT 37; VLIN 31,3 
8 AT 39: VLIN 31,32 AT 38; HLIN 
37,39 AT 25: HLIN 37,39 AT 3 
8 

2670 PRINT : PRINT : PRINT " 

FROMFRE 
D" 

Read data for ncisic. 



2710 READ I,J 



continued on next page 



50 



SoflSidc DECEMBER, 1980 



Test for end of first m.isic3l 
selectioTit 

2720 IF I = THEN 90 

Exeaite delay before the next 
misical note. 
2722 IF I = - 1 THEN 9000 

Test for the end of the secorid 

w-isical selection. 

2725 IF I< - 1 THEN RESTORE \ 

GOTO 90 
Play a (wsical note. 
2730 POKE 768,i; POKE 769,J5 CALL 

770 
Direct to next note. 

2780 GOTO 2710 
Data for the nusic. 
3000 DATA 171,150,128,150,128,7 
5,114,75,128,75,136,75,152,1 
50,152,150,152,150,111,150,1 
11,75,102, 75,111,75,128,75,1 
36,150,171,150,171,150 
3010 DATA 102,150,102,75,96,75 
,102,75,111,75,128,150,152,1 
50,171,75,171,75,152,150,111 
,150,136,150,128,255,0,0 
3100 DATA 102, 90,102, 90,102, 
180,102, 90,102, 90,102,180, 
102, 90,86, 90,128,135,111,1 
5,102,255,-1,-1 
3150 DATA 96, 90,96, 90,96,13 
5,96,15,96, 90,102, 90,102, 
90,102,15,102,15,102, 90,111 
, 90,111, 90,102, 90,111,180 
,86,180 
3200 DATA 102, 90,102, 90,102, 
180,102, 90,102, 90,102,180, 
102, 90,86, 90,128,135,111,1 
5,102,255,-1,-1 
3250 DATA 96, 90,96, 90,96,1 
35,96,15,96, 90,102, 90,102, 
90,102,15,102,15,86, 90,86, 
90,96, 90,111,90,128,255,-2 
,-2 
3500 END 
Execute delay between the notes. 

9000 F(K AQ = 1 TO 15: NEXT AQ: GOTO 
2710 

Polf.e in the Machine language tone 

SLibroLitine. 

10000 POKE 770,173: POKE 771,18: 

F-OKE 772,192: POKE 773,136: 

POKE 771,208: POKE 775,5: Pn<E 

776,206: POKE 777, i: POKE 77 

8,3: POKE 779,210: POKE 780, 

9: POKE 781,202 

10010 POKE 782,208: POKE 783,215 

: POKE 781,171: POKE 785,0: POKE 
7at,3', POKE 787,76: POKE 788 
,Z: POKE 789,3: POKE 790,96: 
POKE 791, O: POKE 792, O; RETURN 




/^4dventute. 

^^0>^ INTERNATIONAL 



© 



'IWASTHE 

NIGHT 

BEH)RE 
CHRKIMAS 

At last, an educational 
adventure for the tykes 
hovering about your 
microcomputer. The folks at 
Adventure International have 
decided that Adventure for 
adults are just not enough, so 
they have begun producing 
Kid Ventures. Kid Ventures 
differ from adult adventures 
in that they include both 
sound effects and graphics, as 
well as both story and qui/ 
modes. 

The first such Kid Venture, 
designed for children between 
the ages of four and ten 
years, is based on a holiday 
theme and is entitled "Twas 
the Night before Christmas." 
It sure beats a lump of coal 
\ in the stocking! 
S-80 Level II, 
16K Cassette $12.95' 

\Jhe SoiH^ate Exchange ^ 

6 South St ixxH, Milford, NH 03055 
\ 

' TOLL KREl ORDERS: 

1-800-258-1790 

(in NH can 673-51441 




SoftSide DECEMBER. 1980 



ONE-LINERS 

If you've got a good one-line 
program, send it to: 

One-Liners 
SoftSide Magazine 

6 South St. 
Milford, NH 03055 
You may get your program in 
print and win the coveted 
"SoftSide One-Liner Award"! 

An Applesoft One-Liner 

by Dennis Ward 

This is an interactive one-liner, 
written in Applesoft, that uses 
paddle input. 

1 HOME : HGR J POKE - 16302,05 HPLOT 
PW. (0) / 255 X 279, PDL (1 
) / 255 « 191! FOR X = 1 TO 
3000; HPLOT TO POL (0) / 2 
55 » 2??, FDL (1) / 255 X 19 
i: NEXT : FOR X = 81?2 TO 16 
383: POKE X,S:S = S + 1 - 25 
5 I (251 < S): NEXT : GOTO 1 
An Applesoft One-Liner 
by Dennis Ward 
Note: Be sure you type this in 
correctly the first time. Unless you 
have the Program Line Editor, it is 
too long to edit. (According to 
Dennis, the original version of this 
program took about 40 lines.) 

1 Y = m il) r mi HGR : HCOLOR- 
3: POKE - 16302,0: FQR1 = 
1 TO 75fl:X = X + Y / 2 - 279 

I (X > 279):X = X - 27? « ( 
X > 279) :Y = Y - X / 1 + 191 

« (Y < 0):Y = Y + 191 I (Y < 

0): HfiOT x,y: hplot x,i9i - 

Y: HPLOT 279 - X,191 - Y: HFIOT 
279 - X,YI NEXT i: GOTO 1 

An Applesoft One-Liner 

by Leon A. Osborne 

Here's a one-liner that you can use 
as a boot program if you have a 
disk system. 

1 TITLE* = "insert title": TEXT : 

hwc J Kim i2:x = 20 - len 
(TITLE*) / 2; htab x: print 

TITLE* : GET M', FIRINT : PRINT 
CHR* (D; "CATALOG" 



Bugs, Worms & other undesirables 

by Kay Pasa 

In ROM the ROBOT, part 3 
from our August issue, a few 
people have said that they got a 
TOO LONG error when typing in 
line 30. That line goes in okay if 
you omit the spaces when typing. 

S/ 



KIDNAPPED! 




Kidnapped is an S-80 adventure 
for 16K machines. 

by Peter Kirsch 

You awaken on the 9th floor of 
a strange building, the victim of a 
kidnapping. The kidnapper is 
elsewhere, busy counting the 
ransom money. Your only job is to 
escape from the building, floor by 
floor. You must beware of the 
kidnapper, and stay alive. Many 
traps have been set, so be careful! 

This adventure has a total of 65 
locations, with each floor 
independent from the rest. You 
cannot carry items from floor to 
floor, so you need only to use 
items found on that particular 
floor to escape down to the next. 

Use 1- or 2-word commands to 
communicate with the computer, 
such as GET AX, DROP AX, 
OPEN DOOR. To move in a 
particular direction, type that 
direction or merely its first letter 
(N,E,S,W,U,D). To restore the 



display, if needed, type LOOK. To 
see a list of the items you're 
carrying, type INVENTORY or 
just I. 

You awaken. . . 
VARIABLES 

A = Current player location. 
N,W,E,S,U,D = direction pointers. 
DT = dark flag. 
DK = Flashlight on? 
TI = Current time (9th floor only). 
FL = Floor pointer. 
CF,CT,KY,G,C = Message flags (if 
0, respective message appears). 
G,V,B,K,K1,K2,K4 = Loops. 
Kl,K3,TM,F,J,X,Y = Work variables. 
PM,FR,DP,PF,SC = Monster or 
hazard flags (0 = active, 
1 = absent). 

EF,SD,UM,SP,JK,C1,R1 = Item 
flags (0 = natural state, 1 = changed). 
RS = Rope status (0 = loose, 1 = tied 
to stake, 2 = stretched across 
quicksand). 

BO = Balloon status (0 = deflated, 
1 = inflated, 2 = tied to string). 
PT = Plant status (0 = small. 



1 = huge). 

BR = Book read? 

STRINGS 

A$ = Player input command. 

E$ = Picks last 3 letters of object 

command D$. 

J$,N$ = Room descriptions 

(repeated use). 

M$,R$ = Used to change, add or 

remove an item in room or if 

carried. 

ARRAYS 

H$(X) = Permanent storage of 

items. 

A$(X) = Temporary storage of 

items. 

B$(X) = Commands. 

C$(X) = Items carried by player. 

A(X) = Item location (room #s). 

B(X) = Holds room #s accessible 

from current location. 

D(X) = Command codes. 

I(X) = Main purpose: If item X is 

carried by player, I(X) = 1 . 

G(X) = Door status (0 = locked, 

1 =open). 



I ' BY PETER KIRSCH 

JUNE 1980 

5 GOT0200 
Lines 10-75! Roo« descriptions 

10 FA=66THEN6000ELSEIFDT=lTt€N320ELSE(»WGOTOll, 12, 13,11.15,16,1 
7,18,19,20,21,22,Z3,21,Z5,26,27,28,29,30,31,32,33,31,35,3<5,37,38 
,39,10,11,«,13,11,15,16,17,18,19,50,51,52,53,51,55,56,57,58,59, 
60,61,62,63,61,65,66,67,68,69,70,71,72,73,71,75 

II printj$:«=i:n=2:e=8:s=7:goto350 

12 PRINTN$!N=3:S=1:GOT0350 

13 PRINT"IN A CLOSET.":S=2:GOT0350 

11 fi?mj*;n=5:e=i:s=6;goto350 

15 primtn»:s=i;goto350 

16 PRINT"IN A RESTROOM.":N=1:GOT0350 

17 frintn*:n=i:goto350 

18 printj«;h=i:n=9:s=io:goto350 

19 PRIMT"IN AN EL£VATOR.":S=8;GOT0350 

20 PRINT"IN A HAINTENANCE R00M."!N=S:G0T035fl 

21 PRINT"IN A CRAHLSPACE ON TOP OF THE ELEVATOR. ":D=9!GOT0350 

22 PRINT"ON A ^€RY tWRROH LEDGE. ":GOT0350 

23 PRMJ$!H=11:S=16:GOT0350 

21 PRINT"IN a VISnOR'S LOUNGE.":W=15!E=13:GOT0350 

25 reiNT"IN A aOSET.":E=li:GOTO350 

26 PRINTN$;N=13.'E=17:GOT0350 

27 FWNTN$:M=16:GOT0350 

28 PRINTJ*:W=20!N=19:E=21:S=21:GOT0350 

29 PRINTN»;S=18:GOT0350 

30 PRINT'lN A TOOL CRIB."!E=18:GOT0350 

31 PRINTJ«:N=18:E=22:GOT0350 

32 PRINTN«.'M=21;E=23:GOT0350 



33 PRINT"IN A SMALL STORAGE ROOM.":H=22:GOT0350 
31 FiaNTJ$!H=18:GOTO350 

35 PRINT'TN A NARROW STAIRWAY. ":W=21:GOT0350 

36 PRINTJ*:h=31!N=27:E=29:S=30!GOTO350 

37 PRINTN$;N=28:S=26:GOT0350 

38 PRINT'lN A CLOSET. ":S=27!GOTO350 

39 PfaNT"IN A GAhE ROOM.":W=26:GOT0350 

10 PRINTN$:N=26;GOT0350 

11 PRINTJ$:W=33;N=32!E=26:GOT0350 

12 print"in a store ROOM.":S=31:GOT0350 

13 PRINTN$:E=31:GOT0350 

H m.HT"m A LARGE LEDGE BY WINDOW. ":H=36:GOT0350 

15 mHVIH THE VAULT."!W=36;GOT0350 

16 PRINT"ON A LARGE LEDGE BY WINDOW. "!E=3i:G0T035fl 

17 PRINTN»!S=11:GOT0350 

18 printj$:e=13:n=39:s=io:goto35o 

19 PRINTN$:S=38!GOT0350 

50 PRINTN$;N=38:GOT0350 

51 PRINTJ$!W=13!N=37:S=12!GOT0350 

52 printn$:n=ii:goto350 

53 PRINTJ»!W=38!E=11!GOT0350 

51 PRINT"IN A STAIRCASE. ":GOT0350 

55 printj$:n=16:e=18:s=17:goto350 

56 PRINTN$:S=15:GOT0350 

57 F1UNT"IN A LIBW«Y.":N=15:GOT0350 

58 PRINT'lN THE SWIM ROOM.":W=15:GOT0350 

59 PRINT"IN THE SWIM ROOM.":N=50:E=51;GOT0350 

60 PRINT"IN A LAUNDRY ROOH.":S=19:GOT0350 

61 PRINT'lN A DINING ROOM.":I*=19:GOT0350 

62 PRINTJ«!N=53!E=51:GOT0350 

63 FIONT'lN A RESTROOH.":S=52:GOT0350 



52 



SoftSide DECEMBER, 1980 



61 PRMJ»;M=52:E=55:GOT0350 

65 PRINTJ«:H=51:N=56:GOT0350 

66 PRIMT"IN A U«)RATORY."!S=55;GOT0350 

67 PRINT"IN A CHILD'S PLAYROOM. ":N=55;GOT0350 

68 PRINTN*:H=59:GOT0350 

69 PRINT"IN A LOUNGE. "!E=58!GOTO350 

70 fiaNT"IN A CRAWJWY.":E=6i:G0T035fl 

71 PK[NT"IN A CRAHUWY.":W=60;GOT0350 

72 GOTOM 

73 PRINT"IN A LOUNGE. ":E=61:GOTO:SO 
71 PRINTJ$:W=63:GOT0350 

75 PRINT"IN THE ENTRANCE HALL.".*GOTO350 

Lines 200-300.* Initial iiation 

200 CL£AR300.*DIWi(58),A(58),E:(12),M(39),C$(7),D(39),H»(5B),I(5 
8) 

210 fora=ito55:reada$(A):reada<a):h$(A)=a$(A)!next:fora=ito39:re 
ADe«(A) :next!F0Ra=i3T039:reado(A) ;next 
220 A=i.'G=i;a=9:TH=-2:j$="iN A hallhay.":n$="in an OFICE." 
300 N=o!H=o!E=o:s=0!U=fl:D=o:Y=o!CLS.'PRiNT"You'RE "i:fd«<=oandtm:> 

21THEM)T=1 

Lines 310-388! Description of current location 

310 GOTOIO 

320 PRINTOW (29) "POWER FAILUREI IT'S TOO DARK TO SEEI":0T=2:G0T 

O390 

350 nam95Q , "FLOOR"FL : print : FN>0ORH>0ORD0GRS>0ORU>0ORD>flTtCNP 

RINT"S»E EXITS ARE? ";jFORB=lTO12!B(e)=0!NEXT 

360 IFH>OPRINT" H£ST";:B(1)=H!B(2)=H 

361 F(A=11)x(FR-0)THEN363ELSEIFN>0PRINT" NORTH"! :B(3)=N:B(1)=N 

362 F(A=16)i(DP=0)THEN366aSEIFD0PRINT" EAST";:B(5)=E:B(6>=€ 

363 IFS>OFia[NT" SOUTH"! !B(7)=S!B(8)=S 
361 IFU>OPRINT" UP"!:B(9)=U:B(10)=U 

365 IFD>OPRINT" D0HN"!:B(11)=0!B(12)=0 

366 FltlNTIPRINT 

370 F0RB=1T058IIF^(A(B))=ATHENC=C+1;G0T0372 

371 next:print:goto37i 

372 IFC=lFraNT"THINGS YOU SEE HERE!" 

373 PRINT" "A»(B):G0T0371 

371 FA=37IFFR=1PRINT"Y0U FORGOT YOU ICRE fMKED 
YOU BLUSH AND RUN OUT"!A=11!GOTO5000 

375 IFG=1F'RINT"Y0U AWAKEN ON THE 9TH FLOOR OF A STRANGE 
BUILDING, OBVIOUSLY A KIDNAP VICTIM. YOU ARE 

ALONE AT HE MOMENT AM) MUST ESCAPE FROM TIC 
BUILDING, FLOOR BY FLOOR" !G=0 

376 FA=7PRINT"Y0U SEE A SMALL LEDGE OUTSIDE TfC WINDOW" !IFKY=OP 
RINT"AND A SINGLE KEY ON A KEY CHAIN ON THE LEDGE" 

377 IFRS=2IFA=610RA=65FWNT"R0PE IS STRETCtfD ACROSS QUICKSAND" 

378 IFA=33PRINT"THERE IS A WIDE, LONG LEDGE 
OUTSIDE m WINDOW." 

382 FA=56FJK=0PRIMT"UlBELS ON BOTTLES! 
SOLUnON! ANHTODE 

FLUID! UNCIPHERABLE" 

383 FA=58PRINT"A DROOLING /ILIGATOR BLOCKS YOUR (WY 
EAST. HE fttS TIC REMAINS OF THE KIDNAPPER 

IN HIS MOUTH. YOU CATCH A GQMPSE OF A 

STAIRCASE PAST THE ALLIGATOR" 

381 FA=61FRS<2PRINT"A HUGE BOG OF QUICKSAND BLKKS YOUR 

HAY EAST. THE FRONT ENTRANCE IS THERE, 

XOUR HAY TO SAFETY. TICRE IS A LARGE 

HOOK ON THE OTHER SIDE AND A TENT STAKE . 

ON THIS SIDE" 

385 IFA=59THD#»RINT"THER£ IS A TRAP DOOR ABOVE Y0U"aSEFA=61FR 
1=0PRINT"TH«)UGH THE TRtf DOOR YOU SEE 

A LONG, COILED RGFt ON THE 
FLOOR EtLOW" 

386 FA=10FC1=1FCF=0PRINT"A FLASHLIGHT IS TICRE" 



387 FA=lflFCl=lIFCT=OPRINT"ELECTRICAL TAPE IS THERE" 

388 IF(A=16)i(DP=0)THEN1500ELSEF(A=11)«(PF=0)THEN1505ELSEF{A=2 
5)i(SC=0)THEN1510ELSEF(A=35)»(PM=0)THEN1515ELSEF(A=35)x(PM=l)T 
HEN1516ELSEIF(A=11)i(FR=0)THEN1520ELSEF(A=18)i(SP=0)TICN1530aS 
EF(A=18)i(SP=l)THEN1510 

Lines 390-100! Player input 

390 »CRRORGOT03flOO!C=0!TH=TM+l!PRINT:PRINT"WHAT DO YOU WA«T TO 
DO"!!INPUTA$:FDT=2THEN7200ELSEIFA«="LOOK"TICN300ELSEIFA»="JUMP" 
THEN800ELSEIFA$="SWIM"TICN975ELSEFA$="HAIT"THEN1050ELSEPRINT!FO 
Re=lT012!IFA»=6«(B)THEN392ELSENEXT!GOT0391 

392 IFB(B)O0THENA=B(B)!G0T0300aSEPRINT"Y0U CAN'T MOVE THAT m 
."!GOTO390 

391 IFA$O"I"(V«)RIGHT$(A«,3)O"0RY"THEN100aSEPRINT"Y0U ARE CARR 
YING!"!FORK=1T07:PRINTTAB(POS(0)+1)C»(K)!:IFPOS(0)>15PRINT 

396 NEXT!GOT0390 

100 FORB=13T039!F4fN(B*(B))!IFLEFT*(A»,F)=6$(B)THEN150ELSENEXT! 

PRINT"D0N'T know WI«T "CHR«(31)A$CHR«(31)" MEW<S."!GOTO390 

Line 150! String sorting roijtine 

150 D«=RIGHT«(A$,(LEN(A*)-F)-1)!E*=RIGHT*(D*,3) 

Lines 160-180! GET cwwand. Any special conditions are 
checked to see if dangerous, stationary, or otherwise 
hidden ite«s can be carried, else ite« is given to 
player and I(X) is set to 1. 

160 FD(B)OlTHEN190 

161 IFE$="GHT"ORE»="APE"IFA=10FC1=OTICNPRINT"CABIHET IS LOCKED" 
!GOTO5000ELSEFE»="GHT"ANDCF=flTHENJ=56!A*(J)="FLASHLIGHT"!H»(J)= 
A$(J)!A(J)=10!CF=lELSEIFE»="(itf>E"ANDCT=0THENv>=57!A»(J)="ELECTRIC 
TAPE"!H$(J)=A$(J)!A(J)=10!CT=1 

162 IFA=7IFKY=0FEt="KEY"IFI(1)OlTHEfff'RINT"Y0UR ARM IS TOO SHOR 
T TO RtACH IT."!GOTO5000ELSEJ=58!A»(J)=E»!H«(J)=A*(J)!A(J)=7!I(5 
8)=1!KY=1 

165 FA=63IFE»="KEY"PRINT"IC ALL KNOW PIANOS HAVE KEYS"!J=56!A»< 
J)=E$!H«(J)=E$!A(J)=63!I(56)=1 

166 IF((A=11)i(E$="NW")i(F=0))+((A=17)i(E$="MAN"))+((A=58)i(E$ 
="TOR"))THEN700fl 

167 IFA=35IFE$="PER"OR(E»="LAR"ORE$="NEY")i«I(27)=0)THENPRINT"YO 
U GET TOO CLOSE TO HIM, 

HE JUMPS AND STRANGLES YOU."!GOTO730flaSEFI(27)=lPRINT"KIDNAPft 

R SEES YOUR GUN AND FREEZES 

YOU GRAB A D0LLAR"!A$(56)="D0LLAR"!H$(56)=A»(56)!A(56)=35!PM=1!E 

$="LAR" 

168 IFI(18>=1FE»="TER"IFA=58I(57)=1!R»="CUP OF HATER"!K3=18!G0S 
ljeil00!H$(18)=R$!GOTO1900 

169 IFE»="JAR"PRINT"WHICH »C?"!GOTO5000 

170 F0RJ=1T058!IFE»=RIGHT*(A$(J),3)ANDA=A6S(A(J))THEN173 

171 NEXT 

172 PRINT"THERE'S NO "D*" ICRE."!GOT0390 

173 FSGN(A(J))=-1PRINT"BE REASONABLE NOW. THAT'S IMPOSSIBLE."! 
GOTO390 

171 FE»="O0K"PRINT"TITLE OF BOOK! HOW TO "i!FA=17TICNPRINT"SHI 

M"aSEFA=61PRIMT"WALJ< A TIGHTROPE" 

180 F'RINT"OK!"!FORK=lTO7!FC»(K)=""TICNCt(K)=A$(J)!GOSUB3500!H(K 

)=J!A$(J)=""!A(J)=fl!GOTO5000ELSDCXT 

Lines 180-590! DROP con^and. If iten is carried it's 

dropped in current roo«. Prograd checks for any changes 
that night occur if certain iten is dropped in certain 
rooH. I(X) is set to roon t, 

190 Fl)(B)O2THEN600 

500 F0RJ=lT07!IFE»ORIGHT$(C$(J),3)aSE520 

510 NEXT!PRIKT"YOU'RE NOT C/«RYING IT."!GOTO390 

continued on next page 



SoftSide DECEMBER, 1980 



53 



520 F0RK=lT058:iFA$(K)=""THENA$(K)=C$(J) :A(K)=A:H( J)=OELSENEXT 

530 PRIKT"[)K!":FC1RK1=1T058:FM(J)4«(K1)THENC$(J)="":GOT0510ELS 

ENEXT 

510 ffA=l'»FE»="ILL"PRINT"YOU DROP PILL IN THE AQUARIUM" JPF=1:K3 

=15;H»="SL£EPING PIRANHA":GOSUB1200:GOT05000 

515 IFA=16IFDP=0IFE»="f#tt"PRINT"PIRANftt DEVOURS DOBERMAN PINCHER 

THEN DIES OF a€REAnNG"!DP=l!K3=15:M»="GLUTT0N0US DEAD PIRANHA" 

!GOSlJei200;Kl=15:A(57)=-16:A«(57)="EATEN D0BERMAN":H»(57)=A»(57) 

!GOTO590 

550 IFA=32FE$="LAR"A»(57)="LI3NG STRING":H»(57)=A$(57);A(57)=32: 

Kl=57;K3=56:tt$="":GOSUei200 

590 I(Kl)=A:GOTO500fl 

Lines 600-618! GO cowand. If conditions are net, player 
goes where requested (you can't go through a locked 
door or down a broken staircase). Variable A is then 
set to rieu location. 



600 IFD(B)C>3THEN620ELSEIF((A=16)i(E»="MAN"))+((A=58)i(E»="TOR") 
)THEN7000ELSEF((A=11>i(E»="IRE"))+((A=61)x(E»="AND"))THEN7200EL 
SEFA=25AM)E$="IRS"ANDSC=0PRINT"STEP IS HISSING! YOU FELL DOW T 
HE STAIRS":GOT07200 

605 IFE$="QPE"IFRl=lff A=170RA=61A=A+1 :R1=0 :FA-l=17THEN8flOOELSE3 
00 

606 IFE»="ANT"IFPT=1IFA=59THENA=60:GOT0300ELSEIFA=60A=59:GOT0300 

607 IFE$="OPE"IFA=65THENA=61:GOT0300ELSEIFRS=2IFA=61IFBR=1THENA= 
65:GOT03flOELSEPKINT"YOU DON'T KNOW HOW TO W«J< A nGHTROPE"!GOTO 
7200 

608 IFE»="DOH"FA=310RA=36A=A-1:GOT0300 

610 IFE»="0GE"FA=7THENPRINT"LEDGE breaks !":GGTG7200ELSEFA=330R 

A=35A=A+liGOTO300 

612 IFEi="IRS"FA=250RA=410RA=62A=A+i:GOT08000 

615 FE$="OOR"IFA=24ORA=13ORA=30ORA=65FG((A/10-INT(A/10))il0)=0 
THENPRIMT"THE DOOR'S LOCKED"!GOT05000ELSEA=A+1:GOT0300 

616 IFE$="OOR"IFA=55FSD=lORJK=lTHENA=57:GOTO300aSEPRINT"IT'S S 
TUCK! YOU'RE NOT STRONG 

ENOUGH TO OPEN IT!":GOT05000 

617 IFE$="IDE"FA=57PRINT"Y0U SQDE THROJGH HOLE IN FLOOR" !A=58: 
GOTO8000 

618 FA=9IFE»="0OR"0RE»="AIR"IFI(3)=ATFCNPRINT"YOU STEP ON TfC C 
HAIR AND JUST 

WmX. TO REACH THE TRAP DOOR":A=li:GOTO5000ELaPRINT"YOU CfM'l 
REACH IT"iGOTO50O0 

Lines 620-630: OPEN comand. Check.s first if player has a 
key for doors or cabinet. 



620 FD(B)O1TfCN650aSEIFE$="00R"IFA=55TfCNIFJK=0THEN616£LSEG0S 
UB1000;G(1)=1!SO=1:GOT01900ELSEFA=130RA=210RA=65IFI{56)=10R(A=1 
3)i(I(12)=1)THENGOSUB1000:G((A/10-INT(A/10))i10)=1:PRINT"DOOR'S 
DPEN":GOT050flflELSEPRINT"YOU NEED A KEY"!GOTO5000 
625 IFA=10IFC1=0FI(58)=1PRINT"CABINET'S OPEN"iCl=i:GOTO5000 
630 IFI(39)=lIFE»="LLA"K3=39:R«="0FtN FtJPPIN'S U«BRELLA":G0SUB11 
00!UM=1;GOT01900 
Lines 650-696: READ cmiMand. 



650 FD(B)O5THEN700ELSEIFE»="rri"FA=6THENPRINT"GRAFFITI! HATCH 
OUT FOR LIVE ONES":GOTO50flflELSEFA=53PRINT"GRAFnn: DO YOU HAV 
E A SPLIT FtRSONALrrY?";GOTO5000 

660 IFE»="OTE"IFI(l)=AORI(l)=lOR(A=2)x(I(l)=0)PRINT"NOTE SAYS: 
"CHR$(31)"IMP0RTWT TV PROGRWI ON"CH»(31):GOT0390 
670 IFE$="IGN"FA=32PRINT"SIGN: STRING COSTS »1.00":aiTO5000 



680 FE$="TV"FA=5PRINT"EULLETIN: 

POtR HILL BE SHUT OFF AT MIDNIGKT":GOT05000 

690 FE*="0CK"FA=5PRINT"TD€: ";:n=INT(TM/2):iFTI>12TfCNPRINT" 

PAST MIDNIGHT" :GOTO5000ELSEPRINTn"P.H.":GOTO5000 

696 IFE$="OOK"IFI(38)=10RI(52)=1THENBR=1:GOT01900 

Lines 700-730: PUSH comand. 

700 IFD(B)O6THEN830ELSEFE»<:>"T0N"THEN1000ELSEFA=9IFEF=lTJ€fff« 

INT"ELEVAT0R goes DOHN!":A=13:GOT08flOO 

710 FA=12FFR=0PRINT"SPRI>»(L£R TURNED ON. FFt OUT. 

EtlT YOUR CLOThCS ARE VERY HET. 

YOU TAKE THEM OFF. YOU ARE NOH NAKED.":R=1:A»(57)="HET CLOTHES" 

:H*(57)=A$(57):A(57)=-12:GOT05000 

720 FA=16IFSF'=OPRINT"CLICK":SP=1:GOT05000 

730 F'RINT"N0THING HAFfENS":GOTO50C0 

Lines 800-810! .Jlifff* comand. 

800 IF:'r=600RA=610RA=61THEN7100ELSEIFA=310RA=36IFI(25)=l^W3BO=2TH 

ENF'RINT"BALL0ON CARRIES YOU DOWN ONE FLOOR":A='13:GOTO8000aSE710 



805 IFI(39)=1IFUM=1THENF1<INT"Y0U FLOAT DOWN ONE FLOOR" !A=52!G0T0 

8000ELSEPRINT"UMeRELLA HASN'T OFEN!"!GOTO7100 

810 GOTO730 

Lines 830-815! TF coMfiand. 

830 IFD(B)O9THEN850ELSE[FA=llFE$="RES"IFTM<23TtCNPRINT"Y0U'RE 

ELECTROCUTED!":GOT07200ELSEIFI(57)=1THENEF=1:A$(12)="TAPED HIRES 

":H*(12)=A$(12):GOT01900ELSEPRINT"HIRES fall APART AGAIN":GOT050 

00 

835 IFE$="OON"ORE«="ING"IFBO=1IFI(25)=1IFI<57)=1K3=57:R$="":GOSU 

E:1100:K3=25:R$="INFLATED EiALIOON HHH string"!gosubiioo:bo=2:got 

O1900 



810 FE$0"OPE"THEN850ELSEFA=61IFI(51)=1K3=51:R$="":GOSUB1100:A 

$(51)="end of rope tied to stake":h$(51)=a«(51):a(51)=-6i:rs=i:g 

OTO1900 

815 IFA=17FI(11)=1PRINT"R0PE TIED TO DESK":K3=li:R$="":GOSUeilO 

0!A$(8)="ROPE HANGING OUT HIND0«":R1=1!H$(8)=A»(8):A(8)=-17:G0T0 

5000 



Lines 850-970! LIGHT, MAKE, GLUE, DFLATE, SHOOT, KNH con- 
Hands. 



850 IFD(B)O10THEN900ELSEIFA<;i3FE$="GHT"IFI(56)=lK3=56:Ri="LIT 

flashlight":gosue:iioo:h»(56>=r»:dk=i:gotoi9oo 

900 ifd(b)011then930elseifa=19ife$="key"fi(21)=1a$(56)="cruoe 

KEY"!H$(56)=A$(56)!A(56)=19!GOT01900 

930 fd(b)012then950elseifa=25ifi(19)=1fi(20)=10ri(20)=afe$=" 

tep"ore»="irs"print"STair's fixed":sc=i:r»="":k3=2o:gosubiioo:m$ 

=""!gosub1200!goto5000 

950 ifd(e)o13then960elseifi(25)=lifi(21)=10ri(21)=aife$="00n"k3 

=25:R»="LARGE INFLATED BALLOON"!GOSUB1100:H$(25)=R*:BO=1;GOT0190 


960 IFD(e)<>11THEN970ELSEFE«="GUN"C»E«="PER"IFI(27)=lFA=35THEN 

PRINT"G(*( HAD BLANKS' 

KIDNAPPER SHOOTS YOU!"!GOTO7200aSEPRINT"GUN MISFIRES"!GOTO5000 

970 IFD(B)O15THEN980ELSEIFFR=lIFI(32)=lIFI(33)=lFE«="HES"PRINT 

"YOU HAVE tSanED A FINE SUIT 

AND ARE HEARING n"!R=2:GOTO5000 



Line 975: SHIM conwand. 



54 



SoftSide DECEMBER. 1980 



975IFSP=0THEN1000ELSEIFA=19THENA=18:GOTO30flELSEIFAM8IFBR=0THEH 
PRINT"YOU DON'T KNOW HOW TO S«IMI";GOT07ZDOELSEA=49;GOT019(IO 

Line 980-982,* DRINK c»iM3rri. 

980 IFD(B)C>18Tt€N985ELSEIFE$="I0N"FI('M)=lFJ<=lTICNPRINT"Y0U' 
VE CtWCED BACK!":J(=0:GOT05000ELSE1900 
982 IFE$="UID"FI(15)=1PRINT"Y0U'VE CmNGED MO MR. HYDE! 
YOU ARE VERY STRONG I "UMJGOTOSOOO 

Line 985! FOll? comsnd. 

985 IFD(B)O19T>CN990ELSEIFA=59IFE»="TER"IFI(57)=lFiaNT"FlANT GR 
OWS TO CEILING":A$(19)="HUGE F'LANT";PT=1!H$(19)=A$('»9):GOT05000 

Line 990-993: PLAY cwwand. 

990 IFD(B)020THEN995ELSEIFE$="UTE"FA=<51IFI(50)=1IFR1=OPRINT"IN 

DIAN ROPE RISES UF' TO Y0U":R1=1:A»(56)="END OF R0PE":H$(56)=A»(5 

6);A(56)=-61:GOT05000 

993 IFEt="(««)"IFA=63PRINT"LIBERACE YOU'RE NOTI":GOT05000 

Line 995: THROW comsnd. 

995 IFD(B)C>2ITHEN10<)0ELSEIFE«="OPE"FA=61FRS=0PRINT"TIE TtC OT 
HER END FIRST" :GOT05flOflaSEFRS=lTtCNPRINT"HOOK ON ROPE CATCHES 
HOOK NEAR ENTRANCE 
AND STRETCfCS TIGHT":RS=2:K3=54:M$="":GOSUei200:GOT05000 

Liftes tOOO-1050: Various nessages. 
1000 PRINT"Y0U CAN'T DO THAT NOW.":GOT0390 
1050 PKrNT"3 HOURS PASS";TH=TH+5:GOT0390 

Lines 1100-1210 : Subroutines chanoe) add* or vanish itens 
that are carried or in ctirrent rood. R$ or M* is set 
to ite« (chanqe» add) or to null (vanish). 

1100 FORK2=1T07:FC$(K2)=H$(K3)THENC»(K2)=R*;GOSUB1150;RETIJRNELS 

enext:return 

1150 FR«=""I(K3)=0 

1160 RETURN 

1200 F0RK2=lT058:FA«(K2)=H$<K3)TI£NA*(K2)=««:H$(K3)=m:iFM«>"" 

THENRETUW£LSEA(K2)=0 :I(K3)=0 

1210 next:return 

1199 GOTO5000 

Lines 1500-1510; Descriptions (part of line 388 to further 
describe contents of roon). 

1500 PRINT"TI£RE IS A PATH EAST, BUT A 

VISCIOUS, SNARLING DOKRMW< 

BLOCKS YOUR HAY.":GOT0390 

1505 F1t[NT"AQUARIUM IS FULL OF PlMm FISH.":G0T039fl 

1510 F1<INT"THE STAIRCASE IS VERY RDTTEN 

AND &£ WOODEN SFP IS 

MISSING. ":GOT0390 

1515 FiaNT'-KIDNAPPER IS COUNTING MONEY. 
fC DOESN'T SEE YOU YET.":GOT0390 

1516 PRINT"KIDNAPPER IS SCARED ":GOT0390 
1520 PRINT"THERE IS A PATH NORTH, BUT 

A RAGING FIRE BLOCKS YOUR 

HAY.":GOT0390 

1530 PRINT"A LARGE SWIMMING P(WL SPANS ACROSS 

T\£ ENTIRE ROOM, DIVIDING IT IN W4.F. 

IT IS VERY DEEP AND IT IS EMPTY. ";GOT0390 

1510 Pfa?fT"SHIMMING POa IS FULL OF WAFR.":GOT0390 

Lines 2000-2010: Ite« data. Strings are read perrtanently 
into H*(X) and tefiporarily into A$(X). The nunber 



fallowing each string indicates the roo« nufiber the 
ite« is placed in initially and read into A(X). A(X) 
Hill always correspond with A$(X) where X is the ite« 
noMber. A negative nunber indicates an ite« cannot be 
refwved fro« roo« under any condition, but it couJd 
still he altered. 

2000 DATAPAPER N0TE,2,DESK,-2,CmF,2,L(»C BR00M,3,TV ^T,-5,CL0 
CK,-5,GRAFnTI ON WALL,-6,(ra^ WINDOW, -7, TRAP DOOR IN CEILING,-9 
,DOWN BUTTON,-9,CABINET,-10,ENDS OF 2 'LIVE' WIRES, -11, AQUARIUM, 
-11,R0PE,15,SLEEPING PILL,16,0PEN WIND0W,-17 
2010 DATADESK,-17,KEY M«aNG MACHINE, -19, SUPER GLUE, 20, WOODEN ST 
AIR STEP,20, THICK COPPER SHEET, 23, LXKED DOOR, -21, WOODEN STAIRS, 
-25,TANK OF HELIUM GAS,28,LARGE DEFLATED B«.L0ON,29 
2020 DATALXKED DOOR,-30,GUN,30,SIGN ON WALL, -32, STRING VEM)ING 
MACHINE,-32,0PEN WINDOW, -33, LOCKED D00R,-13,Brtl OF YARN,39,KNn 
nm NEEDLES,10,PUSH BUTTON ON >WLL,-12,"SEXY, YOUNG GIRL OFFICE 
WORKERS", -37,STAIRS,-11 

2030 DATAPUSH BUTTON ON WALL, -16, BOOK, 17, MARY POPPIN'S UMBRELLA, 
50,OPEN WIND0H,-51, GRAFFITI ON WALL, -53, SMALL KEY,37,STEa DOOR, 
-55,JAR OF YELLOW SOLUTION, 56, JAR OF FLUID, 56, CHILD'S SLIDE,-57 



!SB6 

BBfl 

DHB 



\i 



2010 DATAWATER COOLER, -58, PAPER CUP, 58, SMALL-SIZED PLANT,-59,FLU 
TE,61,STAIRS,-62,SfttLL BOOK, 61, PIANO, -63, LONG R0PE,63,FR0NT DOOR 
,-65 

Lines 2100-2110: Comand data. Cwwands are read into Bt(X). 
B«(l)-6*(12) hold all possible directions and short- 
hand notation allowing for player to input entire 
direction or just the first letter. Starting with 
85(13) all comands have a corresponding code nunber 
read into D(X) which picks the proper action, allowing 
the use of synonym for the sane cownand. 

2100 DATAWEST,W,NORTH,N,EAST,E,SGUTH,S,UP,U,OOWN,D,GET,T^,OROP 
,PUT,GIVE,PAY,CLD«,GO,ENTER,OPEN,READ,CHECK,>WTCH,PRESS,PUSH,TA 
PE,nE,LIGHT,MAKE,GLUE,D«lATE,SH0OT,KNIT,DRD«<,POUR,PLAY,Trt«)W 
2110 DATAl, 1,2,2,2,2,3,3,3,1,5,5,5,6,6,9,9,10, 11, 12,13,11,15,18, 
19,20,21 

Lines 3000-1100: Short subroutines. 

3000 PRINT"Wf«T?":RESUME5100 

3500 F0RK1=lT058:iFA$(J)=H*(K1)THENI(K1)=lELSENEXT 
3600 RETURN 

1000 FA=21TtCNX=22ELSEIFA=13Tl€NX=3iaSEIFA=55THENX=13aSEX=55 

continued on next page 



SoflSide DECEMBER, 1980 



55 



1100 A»(X)="0FOI doc«":return 
Lines 1900-5100! lining loop. This is the only delay in the 
progran and is iised to give player tine to read nes- 
sages. 

1900 PRM"OK!" 

5000 IFE$="00R"ANDA=71PRINT"Y0U NEED A KEY" 

5100 FORV=1T02000:NEXT:GOT0300 

Line 6000! You win! 

6000 PRINT"OUT. YOU'VE MADE IT."5END 

Lines 7000-7100! You're dead. Note line 7100. A special 32- 
character wavy effect is created for a few seconds if 
player neets his doon, then reverts back to 61-char- 
acter fornat and stops. 

7000 PRM'AI I III Hm i Um i l lll H I.... 




YOU DE A HORRIBLE AND GRIZZLY DEATH, 

YOUR BODY TORN TO SmEDS."!GOTO7300 

7100 PftINT"YOU NOW LOOK LIKE A PANCAKE!" 

7200 F'RINT"YOU SEEM TO HAVE GOnEN YOURSELF KILLED!" 

7300 FiaNT!PRINT"TO TRY AGAIN YOU'LL HAVE TO START 

OVER FROM THE 9TH FLOOR." 

7100 FORB=lTO1fl0!OUT255,3!OUT255,2005NEXT!END 

Line 80001 Drops you down to the next floor. You lose any 
iten you were carrying. C$(X) is cleared as is part of 

I(X). 

8000 I(38)=0!G(l)=fl!IFJK=lTHEW>RINT"YOU FORGOT TfC W<TIDOTE. FL 

UID POISONS YOU.":GOT0720flELSEBR=0:FL=FL-i:PRINT"YOU MADE H DOH 

N TO TfC ICXT FLOOR 

BUT YOU DROP ANYTHING YOU VES)£ CAfiRYING."!F0RG=lT07!C$(G)=""!NEX 

T!FORG=56TO58!I(G)=0!NEXT!GOTO5000 



® 



QME AmmiMLl 



AT 



TheSohware Exchange 

TOLL FREE t-800-2SS-l7n 



D^ SCELBI 

Publications 





a Coiiiptit«r 

nu-i lH)()k 13 ii quidt' to buvinq d mii, roi oniputt'r Conipiilcrs 
like people, come m all sizes. 

The most popular maxicomputer has been the IBM 370 
(which IS being replaced by the IBM 3030 and the IBM 4300); the 
most popular minicorr.puter is the PDP 11; the most popular 
microcomputer is the TRS 80™. But before youbuyacompuler. 
look at the competition. IBM, DEC and Radio Shack aren't the 
only fish in the sea; some of their competitors have somelhiny to 
offer, loo. Treat a computer purchase just as you'd treat any 
other important decision check out all the facts, 
by Sceibi Publications $5.95 

REMsoFT, Inc 

A«sei»nbts; l^ograiiititiiis 

REMsoft proudly announces a more efficient way, using your 
own TRS-80'" , to learn the fundamentals of assembly language 
programming - at YOUR pace and at YOUR convenience. 

Our unique package, "INTRODUCTION TO TRS 80 
ASSEMBLY PROGRAMMING," will provide you with the 
following: 

* Ten 45-minute lessons on audio cassette 

* A driver program to make your TRS-80'" video monitor serve 
as a blackboard for the instructor. 

* A textbook on TRS-80'" Assembly Language Programming. 

* Step-by step dissection of complete and useful routines to 
test memory and to gain direct control over the keyboard, video 
monitor, and printer. 

* How to access and use powerful routines in your Level II 
ROM. 

Level II BASIC $69 95 

H.W. SAMS&Co, 



Introduce you to more advanced interfacing techniques that 



allow you to do new things with your TRS-80" computer. You 
learn how to drive high current and high voltage loads, how to 
generate voltage and current signals used in a variety of control 
applications, how to measure unknown voltages and currents 
with your computer, and how to use remote control circuits that 
allow you to control Universal Asynchronous 
Receiver/Transmitter Chips, analog-to-digital and digital to- 
analog converters, and other devices located some distance 
from your computer. Contains complete software examples, 
by Titus, Titus, and Larson $10,95 + $!. 00 




Stumped by statistics^ Here s the program for you' 
Written by a statiscian but designed for use in the real world. 
Helps you create files, examine and edit data, and understand 
descriptive statistics. Sophisticated enough for the working 
statistician. This powerful interactive statistical package 
features complete error diagnostic, missing value specification 
and sophisticated graphics. 
by Bruce Chalmers 
TRS 80'" Disk 32K & 48K versions on one disk $29.95 



by W. J. Kutlever 

The Investor's Key to Options Marketing!! 

Make informed trading decisions in minutes with this easy to 
use package. 

WHO: Investors, Option Writers or Purchasers use this 
program. 

WHAT: Analyzes option prices and responds to current 
market prices as soon as you receive them. 
WHY: Assesses the value of a given option. Monitors the value 
of your investments. Helps you decide when to purchase or to 
close out your options. 
HOW: Use TRS-80'" Disk. 

Next to your broker this program is your best option in 
creative investing. Analyze option prices before risking any 
money. Convenient features are data entry and flexibility in 
handling a wide variety of situations. 
Available for Level II, 16K TRS-80'" Microcomputers . $29.95 



56 



SoftSide DECEMBER, 1980 



WHOA 




by Shane Causer 

A program of this nature was 
published in the Radio Shack 
newsletter, but we thought it was 
worth repeating. 

Whenever you LIST a rather 
long program in search of a 
specific line, what do you see? Yep, 
that's right.' A whole ton of lines, 
scrolling by faster than a speeding 
bullet. 

If you are tired of having to time 
your pause (a SHlFTed "@") with 
the appearance of the line you wish 
to examine, you have an 
alternative: "WHOA!" 

To slow the LlSTing scroll in a 
16K Level II computer, do the 
following: 

1) Answer "MEMORY SIZE?" 
with 32753. 

2) ENTER this short BASIC 
program: (See Fig. 1) 

3) RUN this program, then 
NEW it. 

Now, whenever you LIST a 
program, it will proceed at its 
normal speed until the SHIFT key 
is pressed. It will then slow down 
(it doesn't matter which SHIFT 
key; the computer isn't picky). 



By changing the number 32 in 
line 50 to 255, the computer will 
wait a full second before scrolling 
the next line into view. 

NOTE: For those who want to 
make SYSTEM tapes of this (or 
are just curious), here is a machine- 
language listing: (See Fig. 2) 

In addition, a patch must be put 
into low memory as follows: 

(See Fig. 3) 

To make the SYSTEM tape, 
load TBUG as in the TBUG 
manual, then ENTER the above 
program and Punch it onto a tape. 
To kill two birds with one stone, 
relocate KBFIX, using RELO as in 
the RELO manual, where you 
desire, along with the "WHOA!" 
routine. 

NOTE T0 4K LEVEL II 
USERS: "WHOA!" can be used in 
4K systems by doing the above 
with the following changes: 

1) Answer "MEMORY SIZE?" 
with 20465 

2) Change line 20 in the basic 
program to read: 

FOR P+20465 to 20479:READ 
A:POKE P,A:NEXT:END 
All else remains the same. 



Fig. 


1 

10 FOR P=16S63 TO 16365 IRE AD A 


:foke p 


a:neaT 




20 FOR P=32754 TO 32767!READ A 


:poke f 


ainext 




30 DATA 195,242,127 

40 DATA 53,128,56,31, 20t 

50 DATA 1,0,32,205,96,0,] 


;,19/ 
193,201 







Fig. 2 








7FF2 


3A 80 38 


LD A,(3880H) 


;get byte hith shift key 


/Hb 


IF 


RRA 


;pUT LOW en mo carry fu^ 


7FF6 


DO 


RETNC 


{RETURN TO ROM F NO SHIR 


/n/ 


C5 


PUSH ec 


;SAVE B AND C REGISTERS 


/hi- It 


01 00 20 


LD EC, ZflOOH 


{LOAD TIME DELAY VALUE 


/l-l-fci 


CO 60 00 


CALL 0060H 


;CPLL ROM DELAY ROUTINE 


mi 


CI 


F-OPBC 


{RESTORE B AND C REGISTERS 


7FFF 


C9 


RET 


'ff£T\m TO QSHNG 



Fig. 3 


11DF 


C3 F2 7F 


JP7FF2 


{JUMP TO TEST TIMER 


© 



■>i~r 



mi 

recordings 



AMP RECORDING 

AND 

DUPLICATING SERVICE 

609 667-1667 

307 West Main Street 
Maple Shade, NJ 08052 



For Digital 
needs: 

* AMP "Data-sette" blank 
cassettes 

* Digital cassette 
duplication 

* Storage Boxes 

* Labels - Custom 
printing & blank 



For AUDIO 

needs: 

* On-location music 
recording 

* Record Album 
production 

* Stereo and Spoken 
Word cassette 

duplication 

* Blank cassette and 
supplies 



All cassette work at 
AMP R. & D. is custom 
work to fit your needs. 

Call or write to "Jerry" 
for more information. 



SoftSidc DECEMBER. 1980 



57 



Three from Potkin 



Wargamer's delight 




1). Kriegspiel II 

A much improved two-player version 
of the original. Kriegspiel II is a war- 
gamer's delight. Choose the number of 
mountains (up to 200) and pick a scenario 
from the 9,999 possible, and then watch 
the computer set up the pieces, towns, 
mountains and a river. To win, you must 
enter the capital city of your opponent or 
reduce his fighting strength to below 
half of your own 

S-80 Level II, 16K cassette $14.95 



2). Up Periscope 



The auttrar of the popular Kriegspiel II 
has done It again. This time the action 
takes place at sea with one player con- 
trolling the submarines while the other 
attempts to sail around RADSHA Island, 
with at least three of his fleet surviving 
the attempt. This realistic wargame in- 
cludes sonar, depth charges, and 
torpedos. 

S-80 Level II, 16K cassette $14.95 





3). Warpath 



The Indians are on the warpath! The 
Chief, along with 24 braves. Is out to 
take the garrison at the fort, or at least 
to stop reinforcements from entering the 
stockade. The General, with his 14 
troopers, is trying to relieve the garrison 
before the flag is captured. The player 
determines the scenario through place- 
ment of boulders that provide both 
.shelter and obstacles. Favorite 

scenarios may be replayed. 

S-80 Level II, 16K cassette $14.95 



CALL TOLL-FREE 

1-800-258-1790 fflQ 

In NH call 673-5144 ^^^^ 




I INT(X^N-XSIN(X"2U) 




muMATH Is a symbolic 
math package you'll recognize 
immediately as a major 
advance in microcomputer 
software. 

muMATH lets you efficiently 
and accurately perform the 
most complex mathematical 
operations. Exact, infinite 
rational arithmetic. Unbound 
variables. Complex 
expressions (even equations 
may be included). Exact 
solution of algebraic 
equations. Plus logarithmic, 
exponential and trigonometric 
simplifications and 
transformation. 

It does in an instant what 
took you years to learn at 
school. Rational arithmetic. 
Algebra. Trigonometry. 
Transcendental functions. 
Symbolic differentiations. 
Symbolic integration of 
indefinite and definite 
integrals. Matrix arithmetic 
and algebra. 

muMATH is written in 
muSIMP, which is included in 
the muMATH package. 
muSIMP is an applicative, 
recursive language, ideal for 
describing complex 
mathematical concepts. 

Because of Its highly 
interactive nature and 
hierarchical structure, 
muMATH is an excellent math 
teaching device, from simple 
arithmetic to calculus. 
S-80 32 or 48K Disk 

$74.95 + $3 




^_ The SaUMore Exchange 

MBB ORDER TOLL-FREE: (in NH call 673-5K4) 

1-800-258-1790 

CP/M la a registered trademark of Digital Research 



5S 



SoflSidc DECEMBER. I9«n 



SQUISH 3 




by Dave Archibald 

SQUISH3 is an S-80 program 
requiring at least 16K of memory 
and at least one disk drive. 

Ever wished you had just one 
more K of memory for that one 
extra large program, you know, 
the one that requires 17K of 
memory and all your friends have 
16K Level lis so you end up 
carrying your disk drives all over 
creation just to show off that one 
great program. 

Here's what you've been waiting 
for, SQUISH3 is designed to 
squeeze every unused byte of 
memory out of that monster by 
deleting remarks, combining lines, 
and removing extra spaces. 

To use SQUISH3 you first need 
to save your program in the ASCII 
format using the 
SAVE'TILESPEC", A option. 
Next, load and run SQUISH3. 
After entering filespecs just sit 
back and watch as your computer 
removes all the unnecessary 
garbage in your program, 
without you lifting a finger!!!. 

Once completed, you will find 
that your program requires 
considerably less memory, and 
maybe it will be just enough to let 
you start carrying a cassette tape 
to your friends instead of a disk 
drive, an expansion interface, 
buffered cables, etc, etc. . . . 

IMPORTANT NOTE: If your 
program uses packed (super) 
graphics, then SQUISH3 should 
not be used as the string structure 
of packed graphics is altered when 
placed into an ASCII file. 

Variables used in SQUISH3 

A = Temporary storage of the 

referenced line number in Hne 330. 

A$ = The program hne inputted 

from the file being squished. 

C$ = The lines that have been 

combined. 

D = The length of the res-word 

that's being searched for. 

DS = The 'DIM' size of 

REF() + 30 & PROO (increase DS 

if vout program references more 

then 100 lines). 

DDT= 1 if there's a 'DATA' 

statement in A$. 

Gl-G5= The position in A$ where 

'INSTR' starts searching from. 

HH= Used in a 'For-Next' loop 



in line 330. 

IP$= Whether 'REM' statements 

are to be deleted. 

J$= Temporary storage of A$. J$ 

is built one character at a time 

— minus the extra spaces. 

L$ = The character in A$ the 

'For-Next' loop (T) points to. (line 

560). 

LN = The line number of the line 

in A$. 

N$ = The string value of the line 

number in A$. 

P = 1 if a 'print' statements quotes 

are encountered in A$. 

PJ = Points to a protected Hne 

number in PRO() that's being 

checked for. 

PP = The position of the space in 

A$ following the line number. 

PRO()= The Hne numbers that 

are to be protected. 

PV = The number of protected 

Hne numbers that were entered. 

Q$= Is used for a 'Inkey' in Hne 

550. 

R = The number of referenced 

line numbers stored in REF(). 

R9 = Temporary storage during 
the sorts in lines 390&400. 



RD= The number of 'Rem' 

statements deleted. 

RE = The number of Hues that 

have been combined. 

REF() = The referenced line 

number of the program being 

squished. 

S = A 'For-Next' loop used in the 

sorts in lines 390&400. 

SI = The same as S above. 

SD = The number of spaces that 

have been deleted. 

SQ$ = The file name of the 

program being squished. 

SV$ = The file name the squished 

program is saved under. 

T = Points to various positions in 

A$ throughout the program. 

V$ = The line in A$ minus its line 

number. 

X= PP. 

XC$ = Whether any lines are to 

be combined. 

XS$ = Whether the extra spaces 

are to be deleted. 

XP$ = W hether any lines are to 

be protected. 

ZC = The 'Print 0' location that 
shows what position the program 
is at in A$. 



10 ' SQUISH-3 

20 ' A THIRD GOERAnON PROGRAM 

30 ' THE FIRST AM) SECOND CENERAHON APPEARED IN HAY 79 S SEPT, 

79 PROG/80 

10 ' BY DAVID IWCHIEWJ) 

50 ' 3717 ALDON LANE 

60 ' FUNT, MI 18506 

70 ' (313) 711-0531 



Lines 80-150! Initializes nenora and variables including 
filespecs. 



80 CLEAR1000:D£FINTA-K,S-Z:DS=70:DIH REF(DS+30),PRO(DS) 

90 aS:LINEIM=in""ENTER THE NAME OF TIC PROGRAM TINT'S TO BE SQUI 

SICD ? ";SQ» 



100 PRINT :L»E[NPUT"IM)ER what NAME IS THE SQUISHED PROGRAM TO B 

E SAVED ? ";SV* 

110 PRINT :iNPtJT"DO YOU WANT Tf£ EXTRA SPACES DELETED (Y/N) ";XSJ 

120 PRINT:INPUT"'D0 you want THE rem STATEMENTS DELETED (Y/N) ";i 

P« 



130 PRINT :iNPUT"DO YOU WANT THE LINES COMBINED (Y/N) "JXC* 
110 PRINT;INPUT"D0 you want to protect any LINES (Y/N) ";xp$ 
150 IFXP$="Y"THENINPUT"ENTER Tf£ LUC NUMBER THAT'S TO Ef PROTEC 
TED CO' TO EXIT) ";PRO(F'V):IFPRO(PV»0 AND P^^ THEMPV=PV+1 :G0 
T0150 



SoftSide DECEMBER. 1980 



59 



Lines 160-190; Opens file to be squished, cherts for 'EOF', 


Lines 150-160: A progran line is inputed into A*, the 


inputs into A$, snd checks if the file is saved in 


position in A$ following the line no. is four>d, the 


ASCII format. 


line no. is taken, and the program status statements 


160 OPEN"IM,SQ» 


are printed. 


170 IFEOF(1>T}CN350 


150 LINEINFUT*1,A$;PP=INSTR(A$," "):X=ff :LN=Mtt.(A»):PRIWTeO,"SCA 


180 LINEim)Ttl,A$ 


mm LINE -";LN!PRINT:F1t[NT:PRINT:PRINTe61,A» 


190 IFASC(A*)>58THEM:LS:PRIMT0523,"MX.t "JSQj;" IS NOT A ASCII F 


160 F1<INT(?381, "SCANNING POSiliW -":PRINT0512, "NUMBER OF LINE CO 


TIF flWIEND 


MBINED -";RE!F'RINTe610, "NUMBER OF SPACES RTMINATED -";SO:PRINTe 


Line 200! G1=G5-1 so INSTR starts searching at the begiming 


768,"NUMBER OF REM STATEMENTS ELIMINATED -";RD:GOT0650 


of A$. 


Line 170: If no lines are to be cortiined then A* is printed 


200 gi=i:c2=i:g3=i:gi=i:g5=i 

210 ' 

220 ' LOOKS FOR RESERVED WORDS THAT MAY REFERENCE A LINE 

230 ' 


to SV$. 


170 IFXC$0"Y"THENPRINT»Z,A*:GOT0110 


Lines 210-280.' INSTR searches A$ for reserved words that 




reference a line m.mber. 


Line 180: If C*=tiu11 (line 660 has been run) then C»=A», and 




new line is printed. 


210 d=i;t=instr(gi,a»,"then"):f t ticn gi=t+d:goto330 


180 fc»=""thenc$=a*:gotoiio 


250 t=instr(G2,a$,"goto"):f t then G2=T+0:GOT0330 


190 ' 


260 T=INSTR(G3,A$,"ELSE"):iF T then G3=T+D:GOT0330 


500 ' CHECKS F LINE NO. IS REFERENCED 


270 T=INSTR(G1,A$,"G0SUe"):F T THEN D=5:G1=T+D!GOT0330 


510 ' 


280 T=»(STR(G5,A$, "RESUME") !F T THEN D=6:G5=T+D:GOT0330 


520 IFR>0THEN IFLN=REF<R)THEN R=fi-i:GOTO620 aSE FLN>REF(R)TtC 


Line 290! Loops until EOF is reached. 


N R=R-1:GOT0520 
530 ' 




510 ' cheo;s for f-then statement 


290 GOTO170 


550 ' 


300 ' 


Lines 560-610: Exanines A» b^ by byte looking for extra 


310 ' GETS THE LINE NO. THAT'S RtFtKENCED AND STORES H 


spaces, quotes (so the spaces erclosed in quotes 


320 ' 


aren't deleted), 'DATA' statenents (the sane as 




quotes), and 'REM' statements. 




560 FiNSTR(C$,"F")TH£N 620 


Line 330! A=Line nunber referenced. If ACO then REFO is 


570 ' 


searched for a watching nu»iber..If a natch is not found 


580 ' COMBDES TfC LFCS TOGETtO 


then R is increnented and A is saved in REFO. 


590 ' 




600 V»=RIGHT*(A*,L£N(A»)-X) :FLEN(Ct)+l£N(V$)<210THENCi=Ci+":"+V 




♦:re=re+i asE 620 


330 A=VAL(MID»(A*,T+0,10)):F a TtCN FQRHH=1T0R:FKEF(*)=A THEN 


610 GOTOHO 


ELSE MEXT:R=fi+i;REF(R)=A 


620 print#2,c$:c»=a$:gotoiio 




630 PRINT*2,C$;CL0SE:PRINTe896,"Pf£SS ' L ' TO LOAD THE SOUISHED 




PkU^KAM " 


Lines 310-350 J Loops mtil EOF then closes the file. 


610 I»=INKEY«:F(»=""T>CN610 else F(»="L"THEN load SV$ ELSE EN 

D 

650 N$=LEn*(A»,PP):ZC=61+PP:PP=fP+i:p=0:j»="":DT=0:FORT=PPTOLEN 


310 GOTO210 


350 CLOSE 


(A»):L»=fflD$(A*,T,i):pRiNTezc," ";:zc=zc+i:pk[ntmo3,t 


360 ' 


660 IFL»=CHR$(31) THEN F P THENP=fl aSE P=l 


370 ' SORTS THE RtftKENCED 8 PROTECTED LINE NO. 


670 IFPTICN82fl 


380 ' 


680 FMID$(A»,T,1)="DATA"THENDT=1 aSE ia$=":" T1CM)T=0 




690 IFDTTtCN82fl 

700 ' 

710 ' REMOVES EXTRA SPACES 


Lines 390-110: Sorts the referenced « protected line no. into 


nonerical order. 


720 ' 




730 FL»=" "AM)XS»="Y"TfCN L»="":S0=SD+1 

710 ' 

750 ' CHECKS IF LINE NO, IS PROFCTED 


390 F0RS=1T0R;F0RS1=ST0R:IFREF(S)<REF(S1)THEN R9=REF(S):REF(S)=R 


EF(Sl).*R£F(Sl)=fi9 


760 ' 


100 NEXTS1,S:FORS=OTOPV:FORS1=S T0PV;FF1«)(S)::>fW3(Sl)THEN R9=PR0 


770 FPV;>PJTfCN IFLM=PRO(PJ)T)CN PJ=PJ+1:GOT0810 aSE IFUOPR0( 


(S1):PR0(S1)=PR0(S)!PW)<S1)=R9 


PJ)THENPJ=PJ+1 


110 NEXTS1,S 


780 ' 


120 GOTO130 


790 ' REMOVES REM STATDCNTS 

800 ' 

810 IFMID«(A«,T,3)="REM" OR L»="'" THEN IFIP$0"Y"T)€N A»=N»+J$+ 




Lines 130-110: Opens the files that're to be squished (SQ») I 


MID$(At,T,Z55):G0T0 810 aSE RD=RD+i:iFLN=REF(R)THE(«=ft-l!A»=N»+ 


written to SV$, and checks for EOF. 


J»+"'":GOT0810 aSE FJ»="" then ho aSE 830 




820 j«=j$+l$:next 




830 A»=f«+J$:GOT0170 


130 0PEN"IM,SQ»:0PEN"0",2,SV$:CLS 


810 FC*0""THEN PRINT#2,C*:C$="" ^^ 

850 print*2,a«:gotoiio ^ 


110 IFEOF(1)THEN630 



60 



SoflSidc DECEMBER, 1980 



COMMAND 5 



COMMAND is an S-80 program 
requiring at least 16K and DISK 
BASIC. 

by Denslo Hamlin, Jr. 

This program creates command 
files which, when executed, will 
initiate a series of responses as if 
they were entered from the 
keyboard and the computer will 
act accordingly. 

It is very rare that one will find 
a secretary that enjoys having a 
computer in the office. This is due 
in part to the amount of seemingly 
useless information that must be 
fed into the computer before it 
does anything of any value. You 
know, things like VERIFY, 
BASIC, # of files, Mem size, and 
RUN "filespec" :1. The problem 
is that users generally don't realize 
the importance of this 
"TRIVIAL" information. Well, 
this program is designed to enter 
all of this information upon 
power-up and free the secretary to 
do the all-important typing (even 
though SCRIPSIT should be used). 

COMMAND is a DISK BASIC 
program and does not function in 
Level II BASIC. Be sure to reserve 
at least 256 bytes of high memory 
using the MEM SIZE option. 

VARIABLES: 

EX$ = This will eventually contain 

a machine language keyboard 

command file which, when, 

executed will dump the new 

keyboard command file to disk 

with the following commands: 

CMD"S" 

DUMP Filename 

(START = X'####', 

END = X'####', TRA = X'####'). 

1$ = Contains keyboard entries to 

be incorporated into command 

file. 

A$ = Contains each individual 

keyboard entry. 

ST = Decimal - Start of Machine 

code. 

Hl$= Hexadecimal- start of 

machine code. 

Z = Decimal - end of machine 

code. 

Z$ = Hexadecimal - end of 

machine code. 

V$= Filename. 

K = Displacement from starting 

address. 



LINE# 



COMMENTS 



1 (XX)- 1630 Keyboard entries are 
input and put into 
variable 1$; each entry 
ends with a carriage 
return followed by a 
null (CHR$ (0) ). At 
the end of the list, an 
End of File, CHR$ 
(225), is added. 

2(XX)-2340 Through the use of the 
routines on lines 5200, 
5300, and 6000, a 
machine language 
routine is poked into 
memory and added to 
variable EX$. 

2350-2500 Adds keyboard entries 
to code. 

3000-3060 Data statements 
containing fixed 
machine language 
codes. 

4200 If memory location is 

larger than 32767, this 
will convert to 
appropriate negative 
value for peeks and 
pokes. 

4250 Converts address Bl to 

LSB (C2) and MSB 
(CI). 

SoflSide DECEMBER. 1980 



5000 



5105 



AD = Address of poke ( = ST -I- K). 4300 

V= This is an address to be 

converted to Least Significant Byte 

(LSB) and Most Significant Byte 

(MSB). 

VI = MSB from above (also used 

in calculation of V3). 

V2 = LSB from above (also used 

in calculation of V3). 

V3 = Edge of Protected Memory. 

H$ = The Hexadecimal number 

scale L & K(l) to K(4): Used as in 

calculations in 

Hexadecimal/Decimal number 

conversions. 

B= Pointer location for EX$. 

B4= Location of EX$. 

BI, B2 & B3= Temporary values 

used in calculating B4. 

Bl = This is also used as an 

address to be converted to LSB 

and MSB as in V but for use in 

EX$. 

Cl= MSB of BI. 

C2= LSB of Bl. 

X$ = Value to be poked and 

inserted in EX$. 

PROGRAM DOCUMENTATION: 5300 



5200 



6000 



6300 



Error trapping in case- 
position of EX$ has 
changed (normally 
shouldn't happen). 

Get starting address 
and convert to 
decimal. 

Special note - This 
looks at locations 
40B1H and 40B2H 
and uses them to get 
V3 (end of protected 
memory). 

Converts address V 
into Least Most 
Significant Byte (LSB), 
V2, and Most 
Significant Byte 
(MSB), VI. These 
numbers are poked 
into memory and 
added to EX$ by line 
6000. This completes 
the location dependent 
portion of machine 
code. 

Reads fixed machine 
language code and 
uses line 6000 to poke 
into memory and add 

to EX$. 

Pokes ASC (X$) & 
adds X$ to EX$. 



Decimal to 
Hexadecimal 
conversion (for dump). 
Other routines are adequately 
described in remark statements. 
Next the computer will request a 
starting address in hex. This 
address should be in the protected 
memory (larger than the memory 
size already indicated) and be 
equal or less than: 

7F00 for 16K Machine 
BFOO for 32K Machine 
FFOO for 48K Machine 

(subtract 50 bytes if you expect to 
use the command 'BASIC *' on 
your next entry into BASIC) 

EXAMPLE: 

BEOO 

The final question the computer 

will ask is for a filename. If you 

don't supply an extension VCMD' 

will be used (best for quick 

execution). 

EXAMPLE: 



BEGIN:0 



continued on next page 
61 



Now the program will create a 

machine language executable file to 

perform these commands and 

transfer you in DOS. 

To execute it just type the file 

name. 

EXAMPLE: 

BEGIN 

SOME INTERESTING 
EXAMPLES: 

1 . To Write Several Programs on 
Tape- 

BASIC 



1 

48000 
CMD"T" 

LOAD'TROGRAMA" 
CSAVE"A" 
LOAD'TROGRAMB" 
CSAVE"B" 
LOAD'TROGRAMC" 
CSAVE"C" 
CMD"R" 
END 

2. To list several programs on the 
line printer the procedure would be 
similar but with LPRINT. 



3. To Dump a Large File- 

BASIC 

1 

48000 

CMD"T" 

RUN"DISKDUMP/BAS" 

SYSO/SYS.F3GUM 

1 

2 

3 



END 



lllREMCOttttND 


2160 V=ST+60 


20 REM BY DENSLO WniH, JR. 


2170 GUSUB 5200 


30 REM COPYRIGHT 1980 m ALL RIGHTS RESERVED 


2180 FOR K=31 TO 11 




2190 I4ISIF 5300 


Lines 50-70: Clear string space and initialize 


2200 NEXT K 


variables* 


2210 V=ST+60 


50 n FAR 1000 


2220 GOSIIR 5200 


60 H»="01Z3156789ABmfF" 


2230 FOR K=11 TO 18 


70 K=0 


2210 GOSUB 5300 


Lines 1000-1630! Keijboard entries are put into variable 
M, each entry etKJs with a carriage return followed 


2250 NEXT K 
2260 V=ST+62 
2270 nnSIIR 5200 

f%f%^\A ^fsjrs^ i# ^j ^f\ i^r\ 


by a null (CHR$(0)). At the end of the list, an 


End Of File, CHR$(255), is added. 


2280 FOR K=51 TO 59 




2290 WW IB 5300 


1000 CLS:«="" 


2300 t£XT K 


1005 PRINT" COMMAND 


2310 V=ST+61 


II 


2320 nnSIF 5200 


1010 FRINT"TYPE IN JOB LIST EaOH FOLLOWING THESE RIIFS;" 


2330 V=ST+62 


1012 PRINT" 


2310 K=K+1:G<IHIF! 5200 


1. PRESS ENTER AFTER EACH ENTRY 


2350 L=LEN(I») 


2. ENTER A SINGLE '[' TO CREATE 10 NULLS (A DELAY) 


2360 FOR 1=1 TO L 


3. ENTER '<END:>' TO END ENTRIES" 


2370 K=K+1 


1011 PRINT" 


2380 X»=MID*(I$,I,1) 


ENTER aST HERE.*" 


2390 imf. 6000 


1020 LINEINPUT A* 


2100 NEXT I 


1030 ff A*="[" THEN 1500 


2500 Z=ST+255 


1010 F A»="<END>"THEN 1600 


2510 fJlRIIB 6300 


1050 I»=I»+A$+CHR*(13)+CHR»<0) 


2520 L[NEINPUT"INDICATE DESIRED FILE NAME=> ";V$ 


1060 GOTO 1020 


2530 L=INSTR(V$,"/") 


1500 W=«+STRING*(10,0) 


2510 ff L=OTHEN 7100 


1510 GOTO 1020 


2550 REM THE FOLLOWING MODIFIES EX» SO THAT IT IS EXECUT(« F 


1600 I»=I*+C»»(255) 


ROUTINE IN ITSn F 


1610 FRINT"JOe LIST COtRETE" 


2560 EX»=LEFT$(EX$,61)+STRING$(20,CHR$(0))+"CMD "+CHR»(31)+"S"+C 


1620 PRINT" COMMAND FILE NOW BEING CREATED" 


HR*(31)+CW<$(13)+CHR»(0)+STRING$(20,CHR*(0)) 


1630 GOTO 5000 


2570 EX$=EX$+"DUMP "m+" (START=X'"+H1*+"',END=X'"+Z»+"',TRA=X' 


1999 REM MACHINE LANGUAGE CODE CREATION 


"+HH+"')"+CHR»(13)+CH<»(0)+CHR»(255) 


Lines 2000-2900.' Throtigh the use of the routines on 


2580 MID*(EX«,23,1)=CHR*(201) 


5200, 5300, arid 6000, a Machine language routine is 


2590 B=o:Bi=o:e2=o:B3=o:Bi=fl;ci=o:c2=o:B5=o 

2600 B=VARPTR(EX») 


poked into nefwry and added to variable EXi. 




2610 B1=6+1;GOSUB1200 


2000 EX$="" 


2620 E2=PEEK(Bl) 


2010 FOR K=0 TO 8 


2630 Bl=8+2:GnSI)B1200 


2020 GUSUBS300 


2610 B3=PEEK(B1) 


2030 NEXT 


2650 61=631256+62 


2060 M=ST+62 


2660 61=61+62 


2070 laiHIIB 5200 


2670 GOSUB1250 


2080 FOR K=ll TO 12 


2680 MID$(EX$,10,2)=CHR-$(C2)+CW»(C1) 


2090 GUSUB 5300 


2690 B1=B1+25:WJSUB1250 


2100 NEXT K 


2700 MID*(EX»,11,2)=CHR'*(C2)+CHR1(C1> 


2110 V=ST+25 


2710 61=81+60 JGUSUB1250 


2120 raiSUB 5200 


2720 MID»(EX$,30,2)=CHR$(C2)+CHR»(C1) 


2130 FOR K=15 TO 28 


2730 MID»(EX»,13,2)=CHR»(C2)+CHR«(C1) 


2Hfl MISUB 5300 


2710 B1=61+62;GUSUB1250 


2150 fOT K 


2750 MID»(EX»,50,2)=CHR»(C2)+a«»(Cl) 



62 



SoflSidc DECEMBER. 1980 



2760 ei=ei+6i;G0SUB 1250 

2770 hID$(EX«,61,2)=CHR«(C2)+CHR$(Cl) 

2780 B1=VARPTR(EX$) 

2790 IF BOei THEN 1300 

2800 E:1^+i:GOS(JB1200 

2810 B5=ftEK<Bl) 

2820 F B5Oe2THE>M300 

2830 ei=8+2:GOSUB1200 

2810 B5=PEEK(B1) 

2850 F 85063 THEN 1300 

2860 PRINT"REflDY TO CREATE COHfttND FILE==> ";V$ 

2870 Bl=ei 

2880 GOSUB1200 

2885 REM THE FGLLOHING EXECUTES EX$ « THUS DUMPS fWCHLt CODE 

2890 D£FUSR1=61 

2900 B1=USR1(0) 

2910 EM) 

Lines 3000-3060.' Data statements ccntaininQ fixed 

Machine language codes. Data iten 9999 is a dumn 
elenent. 

3000 DATA 215,221,229,221,12,22,61,221,31 

3010 DATA 221,33 

3020 DATA 221,31,22,61,221,225,211,195,15,61 

3030 DATA 221,229,221,12 

3010 DATA 221,126,0,251,255,10,9,221,35,221,31 

3050 DATA 221,225,201,221,12 

3060 DATA 221,31,22,61,221,225,62,0,201 

3070 DATA 9999 

Line 1200: If «e«ors location is larger than 32767, this 
will convert to appropriate negative value for peeks 
and pokes. 

1200 IFBl>32767TfCNEl=ei-65536 
1210 RETURN 



Convert address Bl to LSB(C2) and 



Lines 1250-1260: 
MSe(Cl). 

1250 Cl=INT(Bl/256) 
1260 C2=81-256iCl 
1270 RETURN 



Line 1300: Error trapping in case position of EX* has 
changed (nornall^j shouldn't happen). 



1300 F«INT"STRING LOCAHON SHIFTING 
-KILL TRY AGAIN":GOTO 2600 



Line 5000: Get starting address and convert to decinal. 

5000 LINEINPUT"INDICATE ST(«TING ADDRESS IN HEX;";H1« 

5010 ff L£N(H1»)>1 OR LEN(H1*)<1 THEN 5000 

5020 ST=0 

5030 FOR 1=1 TO LEN(H1») 

5010 ST=STil6 

5050 L=INSTR(H$,KID*(H1»,I,1)) 

5060 F L=0 THEN 5000 

5070 ST=ST+L-1 

5«80 NEXT I 

5090 PftW'DECINAL EQUH«L£NT=>";ST 

5100 F ST<16381 THEN PRINT"NOT FflSSIBLE TO START AT m (ttOREK 

LESS j\m 1000 hex":goto 5000 



Line 5105: Special Note-This looks a locations 10B1H and 
10B2H and uses then to get V3 (End of protected 
nenor^). 

5105 Vl=PEEK(«H1flB2):V2=PEEK(&H10Bl):V3=Vli256+V2+2:F ST<V3THEN 

print"Danger":goto 7000 

5110 GOTO 2000 

5199 REM THIS CONVERTS ONE ADDRESS TO TWO NUMBERS 

Line 5200: Converts address V into LSB, V2 and MSB, VI. 
These nunbers are poked into rtenory and added to EX* 
by line 6000. This conpletes the location dependent 
portion of nachine code. 

5200 Vl=INT(V/256) 
5210 V2=V-Vli256 
5220 X*=CHR»(V2) 
5230 GOSUB 6000 

5210 X*=CHR*(V1):K=K+1 

5250 GOSUB 6000 

5260 RETURN 

5290 REM GET fWCHINE LANGUAGE CODE 

Line 5300 : Reads fixed nachine language code and uses 
line 6000 to poke into nefwra and add to EX*. 

5300 READ X 

5310 X*=CHR*(X) 

5320 GOSUB 6000 

5310 RETURN 

5990 REM THE FOLLOWING IS POKE SUBfiOUTDC 

Line 6OOO: Pokes ASC(X*) S adds X* to EX*. 

6000 AD=ST+K 

6010 F K1>0 AM) KUIOH THEN PRINT"ERROR":STOP 

6020 K1=K 

6030 IF AD>32767 THEN AD=AD-65536 

6010 POKE AO,ASC(X*) 

6015 EX*=£X*+X* 

6150 RETURN 

6299 REM DEC TO HEX COMCRSION FOLLOHS 

6300 K(1)=INT(Z/1096) 
6310 Zl=Z-K(l)i1096 
6320 K(2)=IMT(Zl/256) 
6330 Zl=Zl-K(2)i256 
6310 K(3)=INT(Z1/16) 
6350 K(1)=Zl-16iK(3) 
6360 Z*="" 

6370 FOR 1=1 TO 1 

6380 Z*=Z*+MID*(H*,K(I)+1,1) 

6390 ttXTI 

6100 RETURN 

7000 PRINT" IT IS NOT ADVISABLE TO CREATE A COMMAND FILE IN 
AREAS OTHER THAN PROTECTED MEMORY. HE SUGGEST TtttT YOU 
PRESS <BRE/«> AM) REDOTI/OZE BASIC WITH MEMORY SIZE 
LESS THAN "iST,","'," (CURRENT ffMORY SIZE=";V3:")" 

7110 mvi" 

PRESS ENTER F YOU WISH TO CONTINUE (RESULTS UNCERTAIN)";X* 
7020 GOTO 5110 

7099 REM INSERT DEFAULT FILE EXTENSION /CMD 

7100 L=INSTR(V*,".") 
7110 F L=0T»CN7110 

7120 V*<£FT*(V*,L-l)+"/CMD"+RIGHT*(V*,LEN(V*)-L+l) 

7130 GOTO2560 

7110 L=INSTR(V*,":") 

7150 F L=0THEN V*=V*+"/CMD":GOTO2560 

7160 GOTO 7120 



® 



SoftSidt DECEMBER. 1980 



63 




Grab your fiberglass vaulting poles and javelins, 
strap on your cleats and hang on to your hat: It's 
OLYMPIC DECATHLON from Microsoft, the folks 
that brought you the "Original Adventure" for the 
microcomputer. 

"Olympic Decathlon" consists of ten athletic 
events carefully designed to simulate the real thing. 
The graphics are dazzling, and the variety is enough 
to keep even the most rapidly bored gamer glued to 
the keyboard. 

This is more than a simple game, it's a true 
simulation. The only difference is thattheskill, timing 
and reflexes necessary for success all lie in your 
manual dexterity and your hand-to-eye coordination. 

S-80 Level I or II, 16K cassette $24.95 

S-80 32K Disk $24.95 





a 



T5€:HPIRDSID€ 



6 South St., Milford, N.H. 03055 

ORDER TOLL FREE: 1-800-258-1790 

(in NH call 673-5144) 




TStHPIRDSIIX 

6 South St., Milford, N.H. 03055 
ORDER TOLL FREE: 1-800-258-1790 
(in NH call 673-5144) 



A Merlin for 

Scrambled 

Disks 



If you thought SuperZap was something, 
wait until you get your hands on SUPER 
UTILITY! Possibly the most powerful 
utility program on the market for your 
S-80, SUPER UTILITY permits you to: 

* Automatically repairs a scrambled 
directory by fixing both HIT and GAT 
tables; 

* Format a disk without erasing data 
files; 

* Format or backup virtually any disk 
except itself; 

* Recover killed files; 

* Purge a disk; 

* Execute a complete Directory 
check; 

* Repair bootstrap function; 

* Totally ROM independent; 

* Plus other features too numerous 
to mention. 

S-80 16K Disk $49.95 



64 



SoflSide DECEMBER. 1980 



BASEBALL 




Dy Dave Bohlke 

Apple translation by Steve MacLeay 

and Steve Justus. 

Baseball requires a 24K Apple 
with Applesoft ROM. 

So it's the end of the season. So 
we are now in the middle of 
basketball, hockey and the all- 
American pastime of bone- 
crunching. Here at SoftSide we are 
still hung up on the real American 
national pastime: baseball. Or, if 
precision is your thing. Son of a 
Son of S-80 Baseball, originally 
penned by Dave Bohlke and since 
translated by Steve MacLeay, Steve 
Justus and Mark Pelczarski. 

This Apple version requires the 
use of paddles and some astute 
managing. The idea, of course, is 
to rack up the greatest number of 
runs, by hook, crook, or any other 
conceivable means. In order to do 
so one must get one's reflexes in 
shape, and bone up on patience. 

To begin with, plug in your 
paddles. Boot the program. Your 
screen will inform you that the 
visitors are up to bat. The home 
team will, of course, be pitching 
and fielding. 

To pitch, one must press the fire 
button. The paddle controls both 
the speed of the pitch and the 
direction. If the paddle is turned 
past the midpoint to the right, a 
fastball will be delivered. If it is 
turned to the left, a changeup is 
forthcoming. After the fire button 
has been pressed, turning the 
paddle in either direction will guide 
the pitch. Knuckleballs are both a 
skill and an art, and fun into the 
bargain. 

To hit the ball, the batting team 
must also rely on the fire button. 
Timing is of the essence. 

Once the ball has been hit, so to 
speak, fielding becomes the main 
concern. A fielder, either infielder 
or outfielder, will appear on the 
screen. So will the ball. The object 
is to get the fielder under the ball, 
at about shoulder height (in the 
case of a ground ball, try to center 
the fielder), in order to catch it 
and make the put out. If the 
trajectory of the ball is such that 
camping under it is well nigh unto 
impossible, get the fielder into a 
stationary position (no flashing 
fielder) and press the fire button. 
The fielder then will make an 



astounding leap and possibly catch 
the ball. If the ball is off to the 
side, press the fire button while the 
fielder is in motion and he will 
dive for it. Sound simple? Hah! 

Batter up 

VARIABLES 

A$ — Whose pitch is it? 

B — Who is the batter. 

Bl = 1 — means a runner is on 

1st base, means no one is there. 

B2 — Second base (see Bl). 

B3 — Third base (see Bl). 

BA — Home team's at bat. 

BE — Home team's errors. 

BH — Home team's hits. 

BL — Number of balls pitched. 

BR — Bat rotation. 

BS — Home's score total. 

CV — Curve on pitch. 

E — Errors for a given inning. 

FT — Used to set color for a 

particular team. 

HT — 1 = A hit. 

I — Dummy variable used in for- 

next loops, etc. 

IN — Counter for innings. 

OT — Number of outs for a 

particular inning. 

P — Runs scored in a given 

inning. 

PI — Ball's X coordinate. 

P2 — Ball's Y coordinate. 

P3 — A jumped fielder's Y 

coordinate. 

PE — Batting % for box score. 

PO — Player's X coordinate. 

PT — Used to determine paddle to 

be checked. 

R — Team that is the running 

team. 

RA — Visitor's at bat. 

RE — Visitor's errors. 

RH — Visitor's hits. 

RO — 1 = Fielder has jumped. 

S(18) — Keeps track of runs 

scored for all innings. 

SP — Ball's speed when being 

pitched. 

ST — Number of strikes. 

T — Temporary number of runs 

scored in by one hit. 

X4 — 1 = Batter has swung. 

XY — Ball's X coordinate in the 

diamond; also used to compute arc 

of fly ball. 

YX — Ball's Y coordinate in the 

diamond. 

Z — Random number determine 

ball's direction and whether hit 

was a foul ball; also used to 

compute arc of fly ball. 

Zl — Player's increment for 

moving left or right. 

SoflSidc DECEMBER, 1980 



Initislize and load shape tablet 

10 LOMEM! 17131! HOME : GOSf; 23 
20: POKE 232,0: POtJE 233,61: 
DIM S(18) 
15 IN = 1 

(tetf.es tean at hat the wtfield tea« 
and vice versa. 

20 IF E; = 2 THEN B = 1:R = 2: GOTO 
370 

Sets the initial OLitfield arid at 
bat tean. 

10 E = 2:R = 1: GOTO 370 

whoever was in the oi.itfield adds 
the errors nade during that inning 
to his total. 



10 B = 2:R = 1: GOTO 370 

50 IF IN / 2 = INT (IN / 2) THEN 

RE = RE + E: goto 70 
60 BE = BE + E 

Have 1 balls I 3 strikes, or 3 outs 
gone by ? If so. set variables to 
0. 

70 E = O'.RO = O'.XI = 0*. IF HT = 1 

THEN GOSUE; 790 ; GOTO 50 
80 IF EL = 1 THEN GOSUE: 120 : GOSUE 

1690 
90 IF ST = 3 THEN GOSl£ 1980'. PRINT 

"YER OUTI"".OT = OT + 1: GOSUEi 

120; GOSUE; 2270 
100 IF OT > 2 THEN OT = 0:B1 = 

:b2 = o:b3 = o:s(iN) = p;p = 

0: GOSUE; 120; GOTO 130 
no GOTO 370 
120 EL = OtST = 0:HT = 0'. RETURN 



Resets window to nornal. Displays 
ri.ins scored so far by both teans. 

130 POKE 31,0: TEXT : HOME ! PRINT 

SFi:( 10): FLASH : print "al 

LSTAR E;ASE;ALL": NORMAL 
110 FfINT : PRINT : PRINT : F-RINT 

"INNING": PRINT : PRINT : PRINT 

"VISITORS ": PRINT : PRINT " 

HOME " 
150 FOR I = 1 TO 9: HTAB I « 3 + 

9: VTAB 5: PRINT i;: NEXT I 

160 BS = o:rs = 0: for I = 1 to I 

^ continued on next page 



65 



170 IF I / 2 = INT (I / 2) THEN 


130 HCOLOR= ft; rot= o; SCALE= 1 


670 GOTO 550 


210 


: DRAW 3 AT P3,11 




180 RS = RS + S(I): HTAB (I / 2 x 


HO GOSUE: 1980 


Draw arid change bat position. 


3 + id; VTAB 8 


150 PRINT " RUNS ";p;" OUT 




190 F-RINT SCI);; NEXT I 


s ";ot 


680 BR = BR - 5; ROT= E«; SCALE= 


200 GOTO 220 


160 fi<int " BALLS '•;bl;" st 


11 : XDRAW 1 AT 135,115 


210 BS = BS + S(I): HTAB I / 2 x 


RiKEs ";st:: print 


690 ROT= BR + 5; XDRAH 1 AT 135, 


3 + 9! VTA£! lO: PRINT S(I)j: 




115 


NEXT I 


Draw the bat. 


Should I chedf. for a hit or a 


Displays boK score! rurrs, hits, 


170 scale= 11 : HC0L0R'= o;e« = 61 


strike? 


errors, batting percentage. 


J ROT= BR: XDWW 1 AT 135,11 






5 


700 IF YX > 138 OR BR < 32 JVEH 


220 KTAEi i: VTAB W PRINT "BOXS 


180 At = " visnoR": if b = 2 then 


720 


core: runs hits error's hi 


A$ = " HOME" 


710 GOTO 550 


Tr; 


190 print a$;"'s pncH "; 




230 HTAE; 2: VTAB 16: PRINT "VISI 




D)eck. for hits, balls, or strikes. 


TORS": HTAB i: VTAB 18: PRINT 


Set ball's initial X and Y 




" HO^E" 


positions. 


729 IF YX > 150 AND XY > 137 AND 


2'JO HTAB 13: VTAB 16; PRINT RS: HTAB 




XY < 117 THEN ST = ST + i; GOTO 


19: VTAB 16: PRINT RH: HTAB 


500 IF PEEK (PT - 16289) < 128 THEN 


50 


26; VTAB 16; PRINT RE 


500 


730 IF E« = 61 m XY > 116 OR B 


250 HTAB 13; VTAB 18; PRINT BS: HTAB 


510 XY = iii;yx = 60 


R = 61 AND XY < 137 THEN BL = 


19; VTAf: 18: PRINT P^: HTAE: 




BL + i; GOTO 50 


26; VIAE; 18: print be 


Sets initial ball speed based on 


710 IF E« < 32 THEN ST = ST + i; 


260 PE = INT (RH / RA i 1000): HTAB 


the paddle's position before ball 


GOTO 50 


31 ; MTAE; 16; print ".";f'E 


is pitched. 


750 IF BR < > 61 m XY > 116 OR 


270 if pa = then 290 




BR < > 61 AND XY < 137 THEN 


280 PE = INT (BH / BA t 1000): HTAB 


520 IF PDL (PT - 2) > - 1 AND 


ST = ST + i: GOTO 50 


31 ; VTAB 18: PRINT ".";PE 


PDL (PT - 2) < 95 THEN SP = 


760 IF YX > 137 AND YX < 151 m 


290 HTAE; 9; VTAB 23; PRINT "PRES 


2.5: GOTO 550 


BR < 57 AND BR > 39 THEN HT = 


S BUTTON TO CONHNUE . . ."J 


530 IF PDL (PT - 2) > 159 AND PDL 


i: GOTO 50 




(PT - 2) < 256 THEN SP = 7; GOTO 


770 IF XY > 136 AND YX < 117 THEN 


300 IF PEEK ( - 16287) < 128 AM) 


550 


ST = ST + i: GOTO 50 


FtEK ( - 16286) < 123 THEN 


510 SP = 1 


780 GOTO 550 


300 


550 IF XY < 130 THEN 610 


Sets ball at raridoM direction for 


Has gawe ended? 


Sets CLirve for the ball based upon 
the paddle's present position. 


leaving the dianorid. 


310 IN = IN + i; IF IN = 19 THEN 




790 Z = INT ( RND (1) « 9) - 1 


310 


560 CV = SGN ( INT (( PDL (PT - 


800 SCALE= i: ROT= O; HCOLOR= 1 


320 IF IN = 18 AND BS > RS THEN 


2) -32) / 191)) 


810 DRAW 2 AT XY - CV,YX - 2 - S 


310 


590 IF XY = 135 AND CV = - 1 THEN 


P 


330 GOTO 20 


CV = 


820 FOR YX = YX TO 15 STEP - 3 


310 FOR I = 1 TO 100 ; NEXT i: HTAEi 


600 IF XY = 118 AND CV = 1 Tt€N 


830 XY = XY + Z: IF XY < 3 OR XY > 


9; VTAB 23: PRINT " PRESS B 


CV = 


275 Tt€N 360 


UTTON FOR NEXT GAME ?"; 




810 HC[LOR= 3: DRAH 2 AT XY,YX: HCOLOR== 


350 IF PEEK ( - 16287) > 127 OR 


Change ball's actual position. 


1 


PEEK ( - 16287) > 127 THEN 




850 DRAW 2 AT XY - Z,YX + 3 


CLEAR : GOTO 20 


610 YX = YX + 2 + SP;XY = XY + CV 




360 GOTO 350 




Was it a fQ.jl ball? 


Sets Lip HIRE-RES graphics and draws 


Draw ball and erase old position. 


860 NEXT YX 


baseball dianond. 




880 IF AEiS (Z) <: > 1 THEN 900 




620 ROT= O; SCALE= i; Hmi.OR= 3: 


890 GOSUE; 1980; PRINT "FOUL BALL 


370 HGR ; HCOLOR= i; HPLOT 0,0; CALL 


DRAH 2 AT XY,YX 


!";ST = ST + i; IF ST = 3 THEN 


62151 


630 HCOLOR= i: DRAH 2 AT XY - CV 


ST = 2 


^0 PT = R + i; IF R = 1 THEN FT = 


,YX - 2 - SF' 




O: GOTO 100 




Draw infield. 


m FT = 3 


Did the batter swing? 




m HCOLOR= 3: HPLOT 0,25 TO 110 




895 HT = O: RETURN 


,150 TO 279,25: GOSUEi 1750 


610 IF PEEK (B - 16288) > 127 THEN 


900 Gosif; 120 : gusue; i98o; gosub 


110 DRAW 2 AT 110,117 


XI = 1 


2270 


120 P3 = 133: IF FT = 3 THEN P3 = 


650 IF XI = 1 THEN 680 


910 HCOLOR- i: HPLOT 0,0; CALL 6 


131 


660 IF YX > 138 THEN 700 


2151 



66 



SoftSide DECEMBER, 1980 



Hhst type of hit' 


1130 IF PO < 20 AND Zl = - 1 OR 


1180 GOSUE: 1980: PRINT "OUT!":OT 




PO > 210 AND Zl = 1 THEN 118 


= OT + i: IF P2 = 121 W® B 


920 GOSUE! 1980*,I = INT ( RND (1 





3 = 1 AND OT < 2 THEN B3 = 


) I 5) + 1! ON I GOTO 930,9'J 


1110 IF RO = THBI PO = PO + Zl 


:p = p + 1: WMF! 1980: fwnt 


0,950,960,970 




"SACRIFICE!!": PRINT "RUN SC 


930 PRINT "IM-iliLD FLY!"; GOTO 1 




ORES!" 


m 


Does he not want to jimp, or has he 


1190 RETURN 


m PRINT "GROUND BALL!": GOTO 1 


already? 




010 




Set color and draw player arid ball. 


950 PRINT "LINE DRIVE'": GOTO 98 


1180 IF PEEK (PT - 16289) < 128 







OR R-O = 1 THEN 1390 


1550 F P2 = 121 AND PI > 255 THEN 


960 PRINT "POP UF' TO OUFIELD!": 


Draws a ji.»iped player. 


GOSUE'. 2250: GOTO 1990 


GOTO 980 


1560 HCOLOF:= FT: IF P2 = 121 AND 


970 PRINT "FLY BALL TO OUTFIELD! 
II 


1190 IF PO > 235 AND P2 = 121 AND 
Zl = 1 THEN 1390 


FT = 2 THEN HCOLOR-^ 
1570 SCALE= i: IF RO = 1 THEN 15 

90 
1580 DRWJ 3 AT P0,F'2 
1590 HCOLOR= 3: DRAW 2 AT Pl.YY 

Set color arrd erase old positioris 
of ball and player. 

1600 HCOLOR= IJ IF P2 = 121 THEN 


Draw cKitfield. 

980 HCOLDR- 2'. HFIOT 0,0: CALL 6 

2151 
990 HCOL0R= U FOR I = 110 TO 15 

9: HFIDT 0,1 TO 275, i: ICXT 

I 


1200 RO = 1 

1210 HCOLOR= i: IF P2 = 121 THEN 

HCOLDR= 2 
1220 DRAW 3 AT PO - Z1,P2: ROT= 

18:Z1 = Zl I 8 
1260 HCOLOR= FT 
1270 IF P2 = 121 AND Zl = THEN 

1290 
1280 GOTO 1330 
1290 P3 = 100 : ROT= 
1300 DRAW 3 AT P0,P3 
1310 IF YY < 110 OR YY > 120 THEN 

1550 
1320 GOTO 1150 
1330 P3 = 60: IF P2 = 10 AM) Zl > 

THEN F'S = 15: GOTO 1360 
1335 ff P2 = 10 THEN 1360 
1310 P3 = 113: IF Zl > THEN P3 = 


1000 HCXOR= 3: FOR I = 257 TO 2 
60; HFIOT 1,103 TO 1,139: NEXT 
I 

Sets player's and ball's starting 


HnniOR= 2 
1610 IF P2 = 10 THEN 1610 
1620 DRAM 2 AT PI - 5,YY - Yl 
1630 GOTO 1660 
1610 DRAW 2 AT P1,YY + 5: IF Zl = 


positicris, 

1010 XY = INT ( RND (1) t 100) + 
25:Z = INT ( M) (1) I 25) + 
5:P0 = ( INT ( RND (1) x 10) 
+ 27) x 2 + R + 1:P2 = 12i; 


OR RO = 1 THEN 1060 
1650 HCOLOR= K ff P2 = 121 THEN 

HCOL0R= 2 
1660 IF RO = 1 THEN 1090 
1670 IF Zl = THEN 1060 
1680 DRA« 3 AT PO - Zl.F^: GOTO 


PI = 2:yy = INT ( m> (1) t 

55) + 70 


129 
1360 IF Zl > THEN Rm= 16 


1060 


1030 GOTO 1060 


1370 PO = PO + Zi: DRAW 3 AT PO,P 


Check, for any scorir^ and advarice 


1010 PO = ( INT ( RNO (1) I 61) + 

32) X 2 + R:P1 = INT ( RND 


3 
1380 IF YY > 100 AND YY < 110 THEN 


riifiners. 


(1) t 230) + 15:YY = 115:P2 = 


1150 


1690 raiSIIF; 1980: PRINT "E'^nER W 


10 


Should I ched'.. for a catch? 


ALKED!": GOSUE: 1980: GOTO 17 
10 


Is player fwving left, right, or 
standing still? 


1390 IF YY < 20 OR YY > 131 AND 
P2 < > 10 THEN GOSUEi 1980 ; 


1700 IKSIJP 1980 : IF B3 = 1 THEN 

p = p + i:t = i:e3 = o: print 

"RUN SCORES" 


1060 Zl = 1 I SGN ( INT (( PDL ( 
PT - 2) - 15) / 225)) 

Arc for outfield hall. 

1090 IF P2 < > 121 THEN YY = YY 

- 5: GOTO 1130 
1100 IF PI < XY THEN Yl = - i: GOTO 
1115 


GOTO HOG 
1395 GOTO 1110 

1100 IF RND (1) < .1 AM) RO = 1 
THEN PRINT "ERROR" :E = E + 
i: GOTO 1700 
1105 PRINT "BASE HIT": GOSUE; 225 

O: GOTO 1700 
1110 IF P2 = 121 THEN 1110 
1120 IF YY < 56 AND YY > 10 THEN 


1701 IF B2 = 1 THEN B3 = 1:B2 = 
O: PRINT "RUfWER ADWCES" 

1706 IF Bl = 1 THEN B2 = 1 

1708 El = i: RETURN 

1710 IF B3 = 1 AND B2 = 1 AND Bl 

= 1 T>€N T = 1:P = P + i: GOSUE; 
2290 

1720 ff B2 = 1 AND Bl = 1 THEN B 
3 = i: F'RINT "RUtWERS ADVANC 


1110 IF PI > XY + Z THEN Yl = 2: 
GOTO 1115 


1150 
1130 GOTO 1550 
1110 F YY > 131 OR YY < 123 THEN 


E": RETUR-N 
1730 IF Bl = 1 THEN B2 = i: PRINT 
"RUNNER ADWtfCES": RETU^-N 


Is player at the edges of the 


1550 


1710 Bl = i: RETURN 


field? If so, don't let hin V.eep 
roMirvg in that direction. 


Did he fi^.e a catch? 


Draw players ori the baseball 
diatwrid. 


1112 Yl = 


1150 IF ABB (PI - F-O - 5) < 1 THEN 




1115 YY = YY + Yl 


1180 


1750 HCOLOR= 3 - FT: ROT= O: SCALE= 


1120 PI = PI + 5 


1170 GOTO 1550 


1 

continued on next page 



SoflSide DECEMBER. 1980 



67 




1770 F ei = 1 THEN 1810 


2020 Bl = 0:E;2 = 0:B3 = 1! RETURN 


2290 GOSUB 19801 PRINT T)" RUN"; 


1790 IF E;2 = 1 T«N I860 




: IF T > 1 THEN PRINT "S"; 


1810 IF B3 = 1 THEN 1880 


2100 T = E:2 + B3iP = P + T! PRINT 


2300 PRINT " SCORE";: IF T = 1 THEN 


1820 GOTO 1890 


"DOUEIE'I" 


PRINT "S"; 


IS'JO DRAW 3 AT 211 + R,59: GOTO 


2110 63 = O; IF Bl = 1 THEN E3 = 


2310 FWNT :T = O: RETURN 


1790 


1 




1860 DRAW 3 AT 133 + R,13: GOTO 


2120 B2 = 1;B1 = O: RETURtI 


Load shape table. Shape 1 is the 


1810 




bat, shape 2 is the ball and the 


1830 DRAW 3 AT 55 + R,60 


Hone run. Add up runs. 


bases, shape 3 is a player. 


1890 HCOLOR= 3! HPLOT 137,110 TO 






111,110 


2200 T = Bl + B2 + B3 + IIP = P + 


2320 L = 16381 


1900 SCALE= 5: ROT= 8 


T 


2330 FOR HX = 1 TO 2 


1910 IF El = 1 THEN 1930 


2210 IF T = 1 THEN : PRINT "GRAN 


2310 READ A» 


1920 DRAW 2 AT 220,75 


D SLAh'll!"*. GOTO 2230 


2350 FOR I = 1 TO LEN (A») STEP 


1930 IF E:2 = 1 THEN 1950 


2220 PRINT "HOHE RUN'" 


2 


1910 DRAW 2 AT 110,15 


2230 PRINT T;" RUNS SCORE'" 


2360 AD = ASC ( hID* (A$,I,1)) - 


1950 IF E:3 = 1 THEN 1970 


2210 El = o;b2 = o;b3 = o:t = ot return 


18 


1960 DRAW 2 AT 60,75 




2370 IF AD > 9 THEN AD = AD - 7 




Add one to nurcer of hits for hone 


2380 CH = ASC ( MIDI (A$,I + 1,1 


1970 RETURN 


or visiting tean. 


)) - 18 
2390 IF CH > 9 THEN CH = CH - 7 


F'aijse and lower window for graphics 


2250 IF IN / 2 = INT (IN / 2) THEN 


2100 POKE L,AD x 16 + CH 


screen. 


BH = BH + 1! RETURN 


2110 L = L + i; NEXT I 




2260 RH = RH + i: RETURN 


2120 NEXT MX 


1980 FOR I = 1 TO lOO: NEXT I! POKE 




2130 RETURN 


31,20 ; HOhE : RETURN 


Add one to nuMher of at bats for 


2110 DATA "fl30008000AOOOD000600 




hoMe or visiting tean. 


3C2E000909092D0D0909111E1B1B 


Was the ball hitting the wall a 




:S;3F1F1B130909092D0D0909111B 


da.ible or a triple? 




1B1B3E'.3F1B1B1309090929090909 




2270 IF IN / 2 ^ INT (IN / 2) THEN 


111B1B1B3F3F1F1B1309092D2D" 




BA = EiA + i: RETURN 


2150 DATA "2D0D0911ieie3F3E:3F3B 




2280 RA = RA + 1! RETURN 


lF13092D092D0D290DlllB3BlE:3Ei 


1990 IF YY > 115 THEN 2100 




3F1B3£!13090D092DOD090D111B1B 


2000 IF YY < 101 TtCN 2200 




lB3F3BlFlB13fl9092D09290D0911 


2010 T = EH + E:2 + EGtP = P + T*. PRINT 


Display runs scored for a 


1B1E3B1B1B3B1B1309090D09090D 


"TRIPLE! 1" 


particular hit. 


09111B1B3F1E1B3B1F1300" ^ 



68 



SoftSide DECEMBER. 1980 



A Microsoft Adventure 

for the TRS-80"and Apple. 

Here is the granddaddy of the computer Adventure games. Microsoft Adventure, 
from the people who wrote BASIC for personal computers, places you in "Colossal 
Cave," where both treasures and perils abound! Here you can find gold, silver, 
jewelry, magic items, and precious pottery. But you may also find threatening 
dwarves, trolls, large green snakes and a giant oyster. Meet the pirate and the 
computer wizard. See the volcano and sulphur lakes. 

As you become more skilled in overcoming obstacles and avoiding hazards, more 
regions of the cave will open up to you. Keep your wits about you and you may 
eventually become a Grand Master. Slip up and you may not become anything, if 
that. It all depends upon your ability and your ingenuity. 

When your adventure begins, you will find yourself outside of the cave. From 
there on in you must tell the computer what you wish to do by means of one- or two- 
word commands. Sometimes the computer might offer to help you with a small hint, 
but remember, there's no free lunch! You will have to do most of the work, including 
learning to use magic, yourself. Look for allies in unexpected places and you might 
surprise yourself. But above all, enjoy! 



S-80 version 32K disk 

$29.95 

Apple version 32K disk 

$29.95 




The 
Software 
Exchange 

6 South Street, 
Milford^NH 03055 



TO ORDER TOLL-FREE 

1-800-258-1790 

(In NH call 673-5144) 











r-Si***^"-'"' 



ll.V.'-.Vtei. 



69 



SoftSide DECEMBER, 1980 



SPACE DODGE 




by Michael McKenna 

Atari translation by Rich Bouchard 

The S-80 version of SPACE 
DODGE requires at least 16K 
RAM. The Atari version requires 
16K and a joystick. 

For those of you with Ataris, 
here is SPACE DODGE complete 
with action packed graphics and 
extensive sound effects. Translated 
for the Atari by our own Atari 
expert. 

You are a spy for the Lastels, a 
people resident in the small 
oppressed system known as 
Trifsed. 

For the last seven centuries your 
people have been trying to form 
their own government. But the 
Saplifs, your oppressors, have been 
quick to suppress any such 
attempts. 

The people realized long ago 
that the only chance to rise as a 
people was to somehow stop the 
intelligence efforts of the Saplifs. 

In a desperate attempt to 
infiltrate the Saplif intelligence 
organization, a small team of spies 
succeeded in crossing the dreaded 
minefield and obtsiined several 
documents exposing the Saplif 
spies on Lastel. But alas, just as 
they were escaping from Saplif, 
they were discovered and executed, 
but not before they had a chance 
to hide the important documents. 
Your mission is to get across the 
minefield, get the secret 
documents, and return without 
being destroyed by the ever-present 
triton mines which come out of 
hyperspace at random intervals. 

Can you succeed???? Here's 
your chance. 

VARIABLES: 

XI = Speed factor. 

ZM$ = Sound Routine string. 

A$ = String storing triton mine. 

A = Random positions for 

triton mines. 

Y = Steering logic. 

O&Z = Ship's position. 
70 



ATARI VERSION 

2 REM mmninnxnnin 

3 REM HH SPACE DOOGE on 
1 RE« mmnmnnixan 

5 REMn ORIGINAL PROGRAM 
18 RE» I HICHAa HCKENNA 
15 REH I ATARI TRANSLAHON 
18 REN I RICH BOUDMa) 
20 POKE 82,2:G0SUB 360 
25 S1=37:S2=10:S3=1 
30 GRAPHICS 0:POKE 752,1 
35 OPEN #1,1,0, "K" 

10 s=fl:PRiMr :print -push joyshck forjw 

RD OR BACKHAfiO":PRINT "TO SELECT SPEED F 

ACTOR," 

12 PRM "PRESS FIRE HHEN READY TO PLAY" 

:primt "SPEED FACTOR ->";s; 

50 F STRIG<0)=0 TIEN 60 

51 F sncK(0)=io OR sna<(fl)=ii or snc 

K(0)=6 THEN F S09 THEN S=S+1 

52 F SnCK(0)=9 OR SnCK(0)=13 OR SHCK 
(0)=5 TICN F SOO THEN S=S-1 

53 FOR K=l TO 50:>CXT K 

51 PRINT ch»(30);s;:goto so 

60 print :PRINT "GOOO LUCK! once TfC SOU 
ARE IS DRAHN":PRINT "PRESS THE FIRE HTTT 
ON TO START" 

70 FOR p=i TO iooo:next P 

120 GRAPHICS 0:POKE 752,1 

130 FOR K=l TO 38:print C«»(160);:NEXT 
K 

132 FOR K=i TO 2i:posinoN 2,k:print chr 
♦(i60);!POsmoN 39,k:print chr»(160);:n 

EXT K 

131 FOR K=l TO 37:PRINT CHR»(16fl);!NEXT 
K 

136 PRINT CHR$(16fl); 

110 IF STRIG(0)<>0 TfCN 110 

115 IF INT(RND(l))«S)O0 THEN 150 

116 POSniON INT(RND(0)x31)+3,INT(RND(0) 
i20)+l 

117 PRINT CHR$(8);CHR$(10);Cf#»(29)JCH» 

(30);chr$(30);ch»(138);chr«(136); 

118 SOUe 0,100,12,6 

150 FtBHION S1,S2:F S3=1 THEN PRINT CH 

r$(1);ch<$(30);;goto i60 

155 PRINT CHR«(l);CHR'$(3fl)J 
160 IF SnCK(0)=lfl OR STICK(0)=11 OR STI 
CK(0)=6 THEN S2=S2-1 

170 IF STICK(fl)=9 OR SnCK(0)=13 OR SHC 
K(0)=5 THEN S2=S2tl 
180 F S3=l THEN S1=S1-15G0T0 190 
185 S1=S1+1 
190 REM 

195 SOIM) 1,S2+10,8,2:SOUND 0,0,0,0:POKE 
752,1:F-RINT " ";!IF Sl=39 THEN 250 
200 LXAF S1,S2,A:IF A=32 THEN 115 



210 F si=2 AND s3=i ncN si=si+i:s3=z:g 

OTO 200 

221 SOUM) 0,250,1,i:SOlM) 1,210,8,8 
221 FOR K=l TO 20:FOR 1=1 TO 15 
225 SETCOLOR 2,I,11:NEXT I:»CXT K 

230 GOSUB 500 

231 IF S2<1 OR SZ>19 THEN 210 

232 PRINT " IMS DESTROYED BY A TRHON NI 

ic in";:print "The ahack fdeld.":goto 6 

00 

210 PRINT " LER THE SPECIFIED AnACK":P 
RINT "FIELD AND HAS DESTROYED BY A TRFL 
E":PRINT "LASER BLAST." 
215 GOTO 600 

250 FOR K=l TO 30:SOtM) 0,lt,10,10:SOUND 
1,20,10,10:SOUND 2,30,10,10:SOUM} 3,10, 
10,10 

252 FOR K1=0 TO StSOlM) Kl,0,0,0:i€XT Kl 

:next k 

255 GRtfWCS 

260 PRINT "YOUR MISSION IS A SUCCESS AND 
Y0U":PRINT "HAVE SMO) YOUR PEOPLE! ! ! ! ! 

270 GOTO 600 

359 PRINT "DON'T GO HERE":STOP 

360 GRAPHICS fliPRINT :PRINT "SPACE DOOGE 
SPACE DOOGE" 

370 PRINT .'PRINT "CAN YOU GET ACROSS T»C 
AHACK FIELD":PRINT "AND BACK WITHOUT H 

itting one of tic" 

372 print "trhon mines coming out of hy 
perspace?";:print "operation of your shi 
p IS easy." 

380 print "F you REACH THE LEFT SIDE OF 

tic":print "monhor you hill turn aroun 

D, AM)" 

382 PRINT "YOU MUST TRY TO fWKE H BACK. 

":PRINT "-HWMNG- DON'T TRY TO FLY ON 

R" 

381 PRINT "PAST THE THICK l«nE LDCS ON 
THE":PRINT "TOP and BOnOM!" 

390 PRINT :PRINT "FISSS FIRE TO CONTINUE 

II 

100 IF STRIG(0)Ofl THEN 100 
105 IF STRIG(0)=fl THEN 105 
110 RETURN 

500 SOUM) i,o,o,o:50UND o,o,o,o:graphics 

0:POKE 752,1 

510 PRINT "FEDERAHON HEADQUATERS:" 
520 PRINT "LONG RANGE SCANNER SHOMS TIWT 

TIC spy":print "ship"; '.return 

600 PRINT ;PRINT "PRESS THE FIRE BUnON 

TO PLAY AGAIN"! 

610 IF STRIG(0)O0 THEN 610 

620 IF STRIG(0)=0 THEN 620 

630 RUN 



SoftSide DECEMBER, 1980 



S-80 VERSION 
10 ' BY MIOMEL HCKENNA 

The subroutine at 360 calls up ard displays the instructions 
for playing. 

20 GOSUB360 
30 CLS 

Lines 10-60: Clears string space and inputs skill level. 

10 CLD«300:L»=INKEY$!PRINT:PRINT"INPUT S>eED FACTOR (9(SLOH)-0( 

FAST!!!))" 

50 Ct£AR:X«=INKEY$!IFX»=""THEN50 ELS£IFASC(X$)<180RASC(X$)>57T 

fCNSO 

60 PRINT"GOOO LUCK! ONCE THE SQUARE IS DRAHN PRESS W<Y KEY TO ST 

mv 

70 FORP=lTO1000;ftXT 

ZH$ = Sound routine string. 

Line 90 finds address of soijnd routine. 

Line 100 pokes address pointers and checks for 

disk basic. 

90 I=VARPTR(Zh«):j=P£EK(I+l)+Z56iPEEK(I+2):FJ>36767THENJ=ii-6553 

6 

100 FORK=JTOJ+20!RE/«)X:POKEK,X;NEXT!IFPEEK(16396)=201POKE16526,P 

EEK(I+l):P0m6527,P£E<(I+2)ELS£DEFUSR0=j:O«)"T":P0KEH308,0 

Line 110! Initializes variables. 

110 Xl=VAL(X»)+i:Z=507:D$=CHR»(93):A$=CHR»(16fl)+Ct#»(m)+CHR$(l 
11)+STRING$(3,21)+af:»(26)+STRBIG$(3,191)+STRING»(3,21)+CHR»(26) 
+C«»(130 )+Ctf:»(191 )+CH»(129) .'as 
120 CLS 

Linel30: Creates playing field. 

130 FORX=15122T015360STEP-1:POKEX,191:«XT:FORX=15360T016320STEP 
61!POKEX,19i:NEXT:FORX=16320T016382:Ft)KEX,19i:NEXT!FORX=16382T01 
5122STEP-6i:PaKEX, 191 :ftXT 

Lines 110-150! Wait for player input to start ga«e. 

HO 0$=INKEY$ 

150 F»=D»IY»:iFFi=""THEN150 

Line 160! Hakes sound and created a tritiori nine at 
a RAM)0M location. 

160 Q2=USR(25610)!A=(RM)(12))i6'HRND(58)!PRINTeA,A$l 

Line 170! Starts loop relative to skill level. This 
loop deternines the length of tine spent 
betweeri appearances of triton nines. 

170 F0RY=lT0Xl!IFZ-INT(Z/61>i61=lTfCNJ=2:D*=CHR«(91) 
180 0=Z 

Line 190! Steering loop. Determines the anount of change 
in vertical position before next forward advance 
of player. Directly related to skill level. 



190 F0RT=lT0Xi:B»=D«<EY»!IFB$<>""THENGOSUe260 
200 NEXT 



Line 210! Check to see if player has successfully crossed 
screen the first tine. If so change pointer and 
start noving to the right. 

210 ffJ=2THEN230 aSEIFPEEK(15360+Z-l)O32T}€N290 

220 Z=Z-1!GOTG250 

230 IFZ-M(Z/61)i61=61THEN310 aS£IFPEEK(15360+Z+l)O32THEN290 

210 Z=Z+1 

Line 250! Erase ships old position and update new. 

250 PRINTW," "!!PRINTeZ,D$!!O=Z!NEn:GOTO160 

260 IFB<="["TH£NZ=Z-61 

270 FB»=CHR$(10)T>CNZ=Z+61 

280 RETURN 

290 PRINTM," ";:iFZ<61ORZ>959T}CN320 

Line 300-320! You have been zapped by a triton nine. 
The federation is inforned and the gane 
starts over. 

300 FGRO=lTO2!PRINTeZ,CHR«(153);!Q2=USR(25800):F1<INTK,CHR*(166) 

; !Q2=USR(25800) !NEXT!CLS!PRINT 

310 PRINT"FEDERATION HEADQUARTERS! 

LONG RMCE SCALER SHOWS THAT THE SPY SHIP tWS 

DESTROYED BY A TRFON HDC IN THE ATTACK FIELD."! PRINT! PRINT! GOT 

Olfl 

320 Q2=USR(150)!CLS!PRINT!PRINT"Fn)ERAnON HBtfQUARTERS! 

LONG R/«GE SD^#CRS SHOW THAT THE SPY SHP WENT OUT OF ITS 

SPECIFIED BOARDER AND HAS DESTROYED BY A TWIN USER I»CRAT0R":G 

OT010 

330 CLEAR !GOTO50 

Line 310! You win!!!!! 

310 FORZ=0TO20!Q2=USR( 10280 )!NEXT!aS!PRINT:PRINT"CONGRADULAnON 

S, YOU mX. IT!! 

YOU ARE NOW PRONOTD AND DON'T t*WE TO TAKE 

SUCH DANGEROUS MISSIDNS"!PRINT!PRINT!GOTO10 

350 DATA205,127, 10,68, 62,1,211,255,16,252,68,62,2,211,255,16,252 

,15,32,239,201 



Subrotitine called by line 20 
360 CLS!PRINT" 

SPACE DODGE 



-SPACE DODGE" 



370 PRINT" 

CAN YOJ GET ACROSS THE ATTACK FIELD AND BACK 
WnHOUT HITTING ONE OF THE TRITON MINES COKING 
OUT OF HYPER-SPACE? OPERATION OF YOUR SHP 
IS EASY. PRESS T« [ KEY TO GO UP, THE "CHR*(92)" KEY 

» 

380 FWNT" TO GO DOWN. IF YOU REACH THE LER SIDE OF THE 



MONITOR YOU HILL TURN AROUND, AND YOU MUST TRY TO 
MAKE n BACK. =HARNING= DON'T TRY TO FLY ON OR 
PAST THE THICK WHITE LIICS ON THE TOP AND BOTTOM!" 

390 PRINT" 

THIS GW€ tttS SOUND SO HOOK UP YOUR AMPLFIER! 
PRESS ENTER"! 

100 DffWAIRETURN 



® 



SoftSide DECEMBER. 1980 



71 



Satisfy your 
craving for 
invasion 






INVASION S 



Now you can continue to play this popular arcade game even 
after you run out of quarters! Shoot down the invading aliens, 
but protect your guns from their bombs. 

Great sound and graphics. (Sound requires external amplifier.) 

16K Level II cassette $9.95 (plus $1 shipping) 
32K Disk $14.95 (plus $1 shipping) 



seRsatioRal 
software 



\ 



i^ 



\ 



\ \ 



\\ N 'I 



^ I 



'£' 




/'J 



SUPER INVASION 

Fifty-five aliens advance and shower you with lethal, writhing electric worms. As you pick off the 
aliens one by one, they quicken their descent. They whiz across the screen, wearing away the 
parapets which are your only defense, coming closer and closer to your level. SUPER INVASION is 
the original invasion game with the original moon creatures. 

32K Apple II cassette $19.95 (plus $1 shipping) 

TheSoHwi^te Exchange 

6 &HJlh SI . Milloid, NH OJO.W (6031 67:i SliI4 

ORDER TOLL FREE: (In NH call 673 5144) 

1-800-258-1790 



72 



SoftSide DECEMBER, 1980 



Acorn Software 
and Leo 
Christopherson 

combine to 
bring you 

E\U£L-r\l-E^nQlC^B 



^ 





You are the Fencing Master and your Android 
is the raw material you use to claim top honors 
in the Tournament All you need to do is train 
him (her, it?) To do so, you make the android 
duel with the machine's androids. Once he is 
trained to your satisfaction, just enter him in the 
Tournament and sit back to watch the fun 

Features include: 

^Extensive Graphic Displays 
*Multiple Playing Levels 
*Sound Effects 

Christopherson is the author of such programs 
as Android NIM, Snake Eggs, and Bee Wary 
Don't miss out on the chance to add this great 
action game to your software library 

TRS-80 Level II, 16K Cassette $14.95 

Disk $20.95 

Hie Saitwate Exchange 

6 South St , Mllford, NH 03055 

TO ORDER: 

CALL TOLL-FREE 

1-800-258-1790 

IN N H CALL (603) 673.5U4 





NEWfrom 
WUeyis popular 
paperback line 



USING CP/M» 

Judi N. Fernandez & Ruth Ashley 

This detailed, self-paced introduction to Control 

Program/ Microcomputers— the most widely used 

microcomputer operating system— lets you use 

CP/ M to get maximum capability and efficiency from 

your micro. 

'A marvelous addition to the CP/ M literature. ... I only 

wish that I had had the book when I was starting out!" 

—Alan R. Miller, New Mexico Tech and Software 

Editor. Interface Age 

471 08011-X Sept. 1980 343pp. $8.95 + $1 

BACKGROUND MATH FOR A 
COMPUTER WORLD, 2nd Ed. 

Ruth Ashley in consultation with Nancy B. Stern 
Here are all the basic mathematical techniques, 
concepts, and facts you need for productive, intelli- 
gent interaction with your computer using any 
computer language. The new edition of this popular 
manual includes an entirely new chapter on 
trigonometry. 
471 08086-1 1980 308pp. $7.95 -i- $1 

WHY DO YOU NEED A PERSONAL 
COMPUTER? 

Lance A. Leventhal & Irvin Stafford 
Whether you're considering buying a personal 
computer or already own one, this is the book for 
you! Both consumer handbook and practical 
manual, it's more comprehensive, detailed, and up- 
to-date than any other work of its kind. It includes 
sensible guidelines on the advantages and 
drawbacks of each model, plus technical advice and 
sources of equipment and information. Find out how 
to use the personal computer to manage your 
finances, analyze stock market trends, serve as 
appliance controllers, much more! 
471 04784-8 Nov. 1980 approx. 320pp. $8.95 + $1 

FORTRAN IV, 2nd Ed. 

Jehosua Friedmann, Philip Greenberg, & 
Alan M. Hoffberg 

A revolutionary new edition of the standard 
FORTRAN guide— now heavily oriented to personal 
computers. You'll start writing basic FORTRAN 
immediately, then progress smoothly to standard 
extensions and advanced options. Whether you use 
FORTRAN 77 or FORTRAN IV, the authors clarify the 
differences— with comparative tables— so you can 
follow whichever version is right for your machine. 
Users of mainframe computers will also find the book 
totally applicable. 
471 07771-2 Nov. 1980 approx. 452pp. $10.95 ^ 

TRS-80 BASIC 

Bob Albrecht, Don Inman, & Ramon Zamora 
Packed with games, graphics, and practical applica- 
tions, this eagerly awaited guide leads you step by 
step to maximum use and enjoyment of your new 
TRS-80. 
47106466-1 1980 351pp. $8.95 + $l 

TheSohtitiate Exchange 

(i.'xxjI/lVnvl.BoxM.MrfkK/.MffUlK'. «)i-(>7f-5l+) 
TOLL FREE ORDERS: 

1 -800-258-1 79& 

(IB NH call 673-5144) 

JOHN WILEY & SONS, Inc. 



Wiley Self-Teaching Guides also teach COBOL, Job Control Language, 
Flowcharting, and other computer skills. 







$1 



Prices subject to change without notice 

: DECEMBER, 1980 



73 




Fantasy at 
your 



fingertips! 



TM 



74 



AUTOMATED 
SIMULATIONS 



TRS-80 fil 

Morloc's Tower $14.95 (c) 

Morloc's Tower $19.95 (d) 

Datestones of Ryn $14.95 (c) 

Datestones of Ryn $19.95 (d) 

Starfleet Orion $19.95 (c) 

Starfleet Orion $24.95 (d) 

Rescue at Rigel $19.95 (c) 

Rescue at Rigel $24.95 (d) 

Temple of Apshai $24.95 (c) 

Temple of Apshai $29.95 (d) 

Invasion of Orion $19.95 (c) 

Invasion of Orion $24.95 (d) 

Hellfire Warrior $24.95 (c) 

APPLE 

Rescue at Rigel $19.95 (c) 

Rescue at Rigel $24.95 (d) 

Datestones of Ryn $14.95 (c) 

Datestones of Ryn $19.95 (d) 

Starfleet Orion $19.95 (c) 

Starfleet Orion $24.95 (d) 

Invasion Orion $19.95 (c) 

Invasion Orion $24.95 (d) 

Temple of Apshai $29.95 (d) 

Morloc's Tower $14.95 (c) 

Morloc's Tower $19.95 (d) 

Hellfire Warrior $29.95 (d) 

petIW 

Starfleet Orion $17.95 (c) 

Rescue at Rigel $19.95 (c) 

Temple of Apshai $24.95 (c) 

Invasion Orion $19.95 (c) 

Datestones of Ryn $14.95 (c) 

Morloc's Tower $14.95 (c) 

TheSaMw&are Exchange 

6 Sojth St . Miltord. NH 03055 

Order TOLL-FREE; (In NH call 673-5144) g^^^ |^^^ 

1-800-258-1790 ^^ ^^^ 

SoflSide DECEMBER. 1980 



\i 



lake your 
Apple Blossom 



HIGHER GRAPHICS 

Complete shape generation, 
manipulation, and utilization tools 
for the programmer. Add 
sophisticated graphic displays and 
effects to your programs. Shape 
Maker, Table Combiner, Screen 
Creator, four shape tables, three 
high-res displays, and the machine 
language graptiics routines required 
to produce high resolution graphics 
on the Apple II. 

48K Disk, Integer BASIC . $24.95 



HIGHER TEXT 

Print characters in upper case, 
lower case, upside down, 
sideways ... in any color! Script, 
Old English, foreign languages and 
special scientific symbology 
included. Define your own 
specialized or decorative character 
sets. Customized displays without 
any hardware modifications! 
Apple II, Apple II Plus, Machine 
Language Disk . . . $35.00 



MAILING LIST DATA BASE 

Enter and store a list of names 
with associated addresses, phone 
numbers, comments, and code 
designations. List, search, edit, print 
labels; convert prior mailing lists. 
Up to 225 records can be loaded on 
line at any time. 

Applesoft, 48K Disk $34.50 



MODIFIABLE DATA BASE 

Now you can have a data base 
program that can be customized at 
will. The variety of applications is 
endless, limited only by your 
imagination. Machine language 
searches and sorts permit 
immediate access to files. Data 
manipulation - editing, printing, or 
deleting - has never been easier. 

Applesoft, 48K Disk $79.50 




PROGRAM LINE EDITOR 

Full feature line editors for both 
Integer and Applesoft programs. 
Program development and 
modification can now be completed 
in a tenth the time previously 
required. 

Apple II, Apple II Plus, Disk $40.00 



DUNGEON CAMPAIGN 

Lead an expeditionary force into 
an underground labyrinth, but watch 
out for monsters, pitfalls, poisonous 
vapors, evil sorcerers, and those 
pesky pterodactyls! 

16K Integer 

Cassette $14.95 

Disk $17.95 



WILDERNESS CAMPAIGN 

Free the kingdom of Draconia 
from the clutches of the Evil 
Necromancer! Your party must 
overcome obstacles and defeat 
hostile inhabitants. Explore tombs, 
temples, castles, and ruins, in 
search of gold and magic. 
48K Integer 

Cassette $17.50 

Disk $19.95 

Both adventures on Disk, 48K 
Integer $32.50 



The SaHwi/are Exchange ^ 



6 Scxith Strc( >( , Box (-.8, Milhrcl, Nt / (mS5 
TO ORDER. TOLL-FREE 

1-800-258-1790 
(in N H call 673-5144) 




SoftSidc DECEMBER. 1980 



SHAPE 

TABLE 

DESIGNER 

Design shape tables with 
keystrokes or paddles 

Also included are Applesoft 

Invaders and Slot Machine — 

colorful variations of well-known 

diversions whose graphics were 

created with this package , and 

instructions for saving graphics 

on disk and putting them in your 

own programs. 
32K Applesoft , ROM 

$29.95 on diskette 

75 



iiiiiiiiimiiiiiiiiiiiiiiiiiiiiiiimn 

FLOPPY DISK 
DIAGNOSTIC 




Now includes memory 
diagnostic at the same price 



The best and most complete diagnostic 
you can buy to verify disk drive reliability 
and find problems. Displays 19 error 
messages and cross references them 
to 14 possible causes. Continuous 
test option for exhaustive testing 
keeps statistical record of ail errors 
found. 

• 35 or 40 track in same program 

• Tests controller functions and 
status bits 

• Tests drive speed and allows 

adjustment 

• Tests switches and mechanical 

components 

• Verifies data transfer 

• Tests drive seek function 

• Sector and byte write and read 

tests using all possible patterns 

• 16 to 48K, 1 to 4 disk drives 

• Tests cross cylinder Interference 

• Tests drive-to-drive compatibility 

Supplied on diskette with manual for 
0">y r ^ $24.95 




The 
Soh^^are Exchange 

TOLL-FREE ORDERS: 

1800-258-1 790 

(in NH call 673-5144) 



lllllllllllllllllllllllllllllllllllllll 





FROffl CIIRIfTOPIIERfOn 



K mm 
It m 



ANDROID NIM 

The newest version of TRS-80's first animated graphics game — An- 
droid NIM — now with more animation and sound! Level II. 16K 
$14.95 

BEE WARY 

This fast-paced real time action game is a contest between a Bee 
operated by the player and a Spider operated by the computer. 
IVlachine language subroutines, but loads as Level II for easy opera- 
tion $14.95 

SNAKE EGGS 

Here is a computerized reptilian version of 21 complete with arrogant 
snakes and appropriate sound. Level II 16K $14.95 

LIFE TWO 

Two in one; Game of Life, at an astounding 100 generations a minute, 
plus Battle of Life with animated creatures and sound. Level II 16K. 
$14.95 

DUEL-N-DROIDS 

You are the Fencing (faster and all you need to do is train your An- 
droid by making him duel the machine's androids. After he is train- 
ed, enter him in the Tournament and sit back and enjoy the fun. 
Features included in this game are: sound effects, extensive graphic 
displays & multiple playing levels. Level II, 16K Cassette $14.95 
Disk $20.95 

a 

The SaHware Exchange 

TOLL FREE 1-800-258-1790 pn nh cm b73 5i44i 



76 



SoflSidc DECEMBER, 1980 





SOUNDWARE 

SOUNDWARE adds a 
whole new dimension to 
your computer games. 

Programs come 
alive with laser sounds, 
bounces, clicks, sirens, 
bird calls, music notes, 
tunes, and whatever else 
your imagination dreams 
up. Just slip in two AA 
batteries, plug into your 
computer, and have fun. 

SOUNDWARE 
SOFTWARE programs 
are also available to 
enhance the enjoyment 
of your computer. $29.95 



DISKETTES 
DYSAN: 

104/1 One-sided single density (one side certified error free at single 
density of 3979 bpr.) In track and between track testing is performed to 
ensure that the entire recording surface of every disk is 100% error-free. 
Box of 5 diskettes $29.95+ $1 

BASF: 

Box of 1 $34.95 + $2 

Box of 100 $299.00 + $3 

3-M SCOTCH 

Encased in a tough jacket which resists handling damages. 100% 
certified error-free performance. Low modulation provides better signal 
stability. 
Box of 1 $39.95 



lUTJ 








•0 




DISKETTE HEAD CLEANING KIT: 

3-M Scotch 7400 head cleaning kit is simple and easy to use. You simply 
saturate the write head cleaning fabric in the cleaning diskette with the 
cleaning solution, insert the diskette into the drive and turn it on. The 
rotating cleaning fabric alternately wipes the heads with the solution and 
the dry surface, removing contamination from the read write head. Each 
kit contains 10 cleaning diskettes which will allow you a total of 150 
cleanings. $29.95 

RECORDING HEAD TAPE ALIGNMENT KIT 

It consists of a template for locating the adjustment screw. An alignment 
tape Is also included and a special screwdriver as well. The kit will allow 
you to align the heads to an industrial standard, ensuring consistent 
loading results. $9.95 



FLOPPY DISK SAVER 

PREVENTS: 

Computer drive's clamping hub 
from tearing disk's center hole; 

Coating removal, scuffing, 
dimpling; 

Data loss caused by improper 
rotation. 
$14.95 Refills $7.95 




FLOPPY ARMOR: 

Prevents damages to your 
diskettes. These are high 
dpnsity, ultra lightweight 
polymer shipping envelops. 
Pack of 5 $4.95 + $1 




SoftSide DECEMBER, 




Board Games-1, 
CS-3001 (16K) 

• Mugwump $7. 95 

Mugwump is a board game which uses 
a 10x10 grid on which four friendly 
Mugwumps are hiding. Your mission is to 
locate these mysterious animals and 
capture them. 

• Flip Disc 

Are you an Othello freak? Flip Disc is a 
program which will turn your computer into 
an excellent opponent. Three different skill 
levels, (good, expert, and genius), provide 
an introduction for the novice and con- 
tinuing interest for the experienced player. 

• Wumpus 

In game 1, you scour a network of 
underground caves in search of the prized 
Wumpus. Bagging a Wumpus wins the 
game, but if you accidentally stumble into 
his cave, the Wumpus will enjoy a tasty 
dinner of sauteed computer freak. 

• Wumpus 2 

if you master the dodecahedron cave 
network in Wumpus 1, you may proceed to 
Wumpus 2 which allows you to choose from 
five different caves, or you can design your 
own. 




• Qubic 

Qubic is a three dimensional Tic 



Tac 



to 



Toe game. The game is played in a 
dimensional cube (4x4x4). The object is 
outwit the computer and place four piec 
in any straight line. 

• Bacligammon 

This is the TRS-80 adaptation of the 
popular board game. Backgammon uses 
graphics and all the standard backgammon 
rules, not a strange computervariation. The 
computer is your opponent in this version, 
written by Scott Adams of "Adventure" 
fame. 



WRITE FOR.., 

FREE 

SOFTWARE CATALOG 

78 



Space Games-3, 
CS-3002 (16K) 

• Ultra-Trek 57.95 

Ultra-Trek is a fast-paced version of 
Star Trek, complete with "real time" action 
graphics, lasers, Nilon space mines, high 
energy photon torpedoes, enemy ships that 
move, and an experimental ray which does 
something different each time you use it. 
You must act quickly to save yourself and 
the Federation, 

• Star Lanes 

imagine yourself the president of an 
intergalactic shipping company. If you're 
successful, you may be named Imperial 
Advisor on Economic Affairs. Entrepre- 
neurs: to your ships. 

• Star Wars 

If you hate Darth Vader, you'll love Star 
Wars. This real time game is fun for aliens of 
all ages. May the Force be with you! 

• Romulan 

Your mission is to destroy an invading 

Romulan space craft. Maneuver through 

space and around stars looking for the 

deadly enemy, but be careful! The nasty 

VRomulans fire back. J 




Air Traffic Controller, 
CS-3006 (16K) $7 95 

This real time machine language 
program puts you in the chair of an air traffic 
controller. There are 27 airplanes — jets and 
prop planes — which must be controlled as 
they land, take off and fly over your air 
space. You give the orders to change 
altitude, turn, maintain a holding pattern, 
clear for approach, and land at your two 
airports. This realistic simulation includes 
navigational beacons, and requires planes 
to takeoff and land into the wind. Air Traffic 
Controller was written by an air traffic 
controller and is a favorite of the Creative 
Computing staff! 



J 



For the 
SERIOUS 

Game Player 

... 

seRsatioRal 
software 



Who Is Creative 
Computing? 

Creative Computing consists of five 
divisions serving you. Creative Computing 
magazine is the number 1 magazine of 
software and applications. Creative Com- 
puting Press publishes a wide variety of 
books, art prints, posters and T-shirts for 
the computer enthusiast. And Creative 
Computing Software produces and markets 
software on cassette and floppy disk for a 
wide variety of computers for home, school, 
and small business. 

If your dealer does not carry the full line 
of Creative Computing products, please 
send three first-class stamps for a free 
catalog of products. 




duenture 



Welcome to an astonishing new 
experience! ADVENTURE is one of 
the most challenging and inno- 
vative games available for your 
TRS-80. 

• Adventureland 

You wander through an enchanted 
world trying to recover the 13 lost treasures 
and encounter WILD ANIMALS, MAGICAL 
BEINGS, and many other perils and 
puzzles. 

CS-3008 TRS-80 16K Level II $14.95 

CS-3506 TRS-80 48K DISK $24.95 

(Includes Pirate Adventure) 

• Pirate Adventure 

Can you recover LONG JOHN SILVER'S 
lost treasure. 

CS-3007 TRS-80 16K Level II $14.95 

CS-3506 TRS-80 32K DISK $24.95 

(Includes Adventureland) 



• Mission Impossible Adventure 

Will you be able to complete your mission in 
time? Or is the world's first automated 
nuclear reactor doomed? 
CS-3009 TRS-80 16K Level II $14.95 

CS-3507 TRS-80 32K DISK $24.95 

(Includes Voodoo Adventure) 

• Voodoo Castle 

Count Cristo has had a fiendish curse 
put on him by his enemies. Will you be able 
to rescue him or is he forever doomed? 
CS-3010 TRS-80 Level II $14.95 

(Available in November) 
CS-3507 TRS-80 32K DISK $24.95 

(Includes Mission Impossible) 

• The Count 

You'll love this Adventure; in fact, you might 
say it's LOVE AT FIRST BITE . . . 
CS-3011 TRS-80 Level II $14.95 

(Available in November) 



SoftSide DECEMBER, 1980 



strategy Games, 
CS-3005 (16K) 

• Tunnel Vision $7.95 

You are transported into a massive 
labyrinth and must find ttie exit or be lost 
forever. Ttiis is an excellent example of 
three dimensional perspective using TRS- 
80 graphics. 

• Evasion 

In this real time game, you are pursued 
around the game board by an evil-looking 
snake. Variations of play include two 
different speeds and hyper-jumps which 
randomly relocate you on the board. 
Looking for an escape? Try Evasion. 

• Jigsaw 

Jigsavi/ is a computer-age puzzle game 
making extensive use of TRS-80 graphics. 
The computer generates a random puzzle 
and puzzle board. Using a combination of 
deductive reasoning and luck you must fit 
the graphically represented puzzle piece 
into place. 

• The Masters 

Are you a wandering pro or just a 
Sunday golfer who would like to keep in 
practice? Once you're on the green, a 
worm's-eye view is displayed for putting. 




• Motor Racing 

fvlotor Racing combines real time 
racing action with advanced graphics 
functions. The graphics and animation 
make factor Racing fun to watch as well as 






Pursuit Games, 
CS-3004 (16K) 

• Stocl< Car Race $7.95 

stock Car Race is a real time racing 
game on a road race circuit. 

• Maze 

You are timed throughout your run and 
rated on the basis of elapsed time and the 
number of moves required to escape. Nine 
skill levels. 

• Indy Racer 

Indy Racer is a real time racing game 
for the TRS-8C. Similar to the popular 
arcade-style driving games. 

• Depth Charge 

As commander of a destroyer, your 
mission is to destroy as many enemy subs 
as possib\e \n this re-creation of the Battle 
of the Atlantic. 

• Kaleidoscope 

This graphics demonstration program 
turns your TRS-80 into a computer age 
kaleidoscope. 




Creative Computing 
IVIagazine 

Creative Computing has long been 
Number 1 In applications and software for 
micros, minis, and time-sharing systems 
for homes, schools and small busi- 
nesses. Loads of applications every 
issue: text editing, graphics, communi- 
cations, artificial intelligence, simula- 
tions, data base and file systems, music 
synthesis, analog control. Complete pro- 
grams with sample runs. Programming 
techniques: sort algorithms, file struc- 
tures, shuffling, etc. Coverage of elec- 
tronic and video games and other related 
consumer electronics products, too. 

Just getting started? Then turn to our 
technology tutorials, learning activities, 
short programs, and problem solving 
pages. No-nonsense book reviews, too. 
Even some fiction and foolishness. 

Subscriptions: 1 year$15, 3years $40. 
Foreign, add $9/year surface postage, 
Y$26/year air. 

Basic Computer Games ^ 

Edited by David Ahl, this book con- 
tains 101 imaginative and challenging 
games for one, two, or more players — 
Basketball, Craps, Gomoko, Blackjack, 
Even Wins, Super Star Trek, Bombs 
Away, Horserace. Simulate lunar land- 
ings. Play the stock market. Write poetry. 
Draw pictures. 

All programs are complete with listing 
in Microsoft Basic, sample run and 
description. Basic conversion table in- 
cluded. 125,000 copies in print. 192 pages 
softbound.[6C]$7.50. 




l\/lore Basic 
Computer Games 

Contains 84 fascinating and enter- 
taining games for solo and group play — 
evade a man-eating rabbit, crack a safe, 
tame a wild horse, become a millionaire, 
race your Ferrari, joust with a knight, trek 
across the desert on your camel, navigate 
in deep space. 

All games come complete with pro- 
gram listing in Microsoft Basic, sample 
run and description. 192 pages soft- 
bound. [6C2]$7. 50. 
V ^ 

SoftSide DECEMBER, 1980 




The Best of 
Creative Computing 

The first two years of Creative Com- 
puting magazine have been edited into 
two big blockbuster books. American 
Vocational Journal said of Volume 1, 
"This book is the 'Whole Earth Catalog' of 
computers." [6A] Volume 2 continues In 
the same tradition. "Non-technical in 
approach, its pages are filled with infor- 
mation, articles, games and activities. 
Fun layout." —American Libraries. [6B] 
Each volume $8.95. 




Computer Coin Games 

Computer Coin Games by Joe Weis- 
becker aids newcomers to the field of 
computers by simplifying the concepts of 
computer circuitry through games which 
can be played with a few pennies and full 
sized playing boards in the book. 
Enhanced by outrageous cartoons, 
teachers, students and self-learners of all 
ages will enjoy this 96 page softbound 
book. [10R]$3.95. 
V ^ 



r 



How To Order 



Send order and payment to Creative 
Computing, P.O. Box 789-M, Morris- 
town, NJ 07960. Add $1 .00 shipping and 
handling per order (foreign, $2.50) N.J. 
residents add 5% sales tax. Visa, 
MasterCharge and American Express 
orders welcome. For faster service, call 
in your bank card order toll free to: 
800-631-8112.{ln NJ, call (201)540-0445.) 



creative 
GonepatiR^ 

J 

79 



STATES AND CAPITALS 




by David Bohlke 

States & Capitals is for a 16K 
Atari witli paddles. 

States and Capitals has always 
been a popular educational game 
for microcomputers. For the most 
part, I wrote this version to 
experiment with the Atari graphics. 
The main feature of this version is 
that each State to be guessed will 
be individually outlined on the 
map. Also, your response time is 
recorded after each attempt. Thus, 
the game can be competitive for 
adults, as well as educational. 
Since it is not necessary to spell 
out your guess, even very young 
players who can identify names 
should be able to use this version. 
USING THE PROGRAM 

To begin, it will be necessary to 
plug a pair of game paddles into 
Slot #1. Only the paddle on the 
left will be used for play, however. 
After you type RUN, turn the 
game paddle to select either the 
State or Capital quiz; then press 
the fire button. 

The program will randomly 
select and outline on the map the 
State to be guessed. The States (or 
Capitals) will be displayed in 
alphabetical order in the print 
window at the bottom of the 
screen. To pick your guess, turn 
the paddle knob until your choice 
is opposite the time indicator in 
the print display, then press the 
fire button. A correct/incorrect 
bar graph will be displayed at the 
lower right of the screen. If you 
miss more than ten attempts before 
guessing all fifty States (or 
Capitals), the program will 
terminate and you will need to 
begin again. Otherwise, this 
sequence will continue until you 
correctly match all fifty states. 

A timing sequence was added so 
that several players can attempt to 
guess all fifty States in the shortest 
amount of time. I hope, then, this 
States and Capitals program can 
be educational and competitive for 
you. Maybe you'll even find the 
graphics display impressive enough 
so that you will want to use this 
version when you show off your 
Atari to friends. 
80 





188 SETCOLOR 4,13,2^P=25 FOR 1=1 TO 58 I 




F fl(I>=0 TICN 103 




181 «XT I GOTO 220 




Get random state. 


^HV^J^jKH^^H^H 1 


103 S=INT(RNK0)*50)+901 IF A<S-900»0 T 


H^l^^^x'^^^^S^^. f 


h€N 103 


m^^Sls^^^^Bsv 


Read State to be suessed. 


^IBr ^^Sw 


105 RESTORE S READ (W 


^^^^s^_ Jv 


Print tht^ee States at ctrrent 


^Hft^B^ O^ 


paddle(P) position 


^^^M ^^ 


110 RESTORE P+S99 READ S$ PRINT ,S* 


^^^^^^^^^ 


111 GOSUB 600 RESTORE P+90e READ S* PRIN 




TrW;"";SE," "jS$ 




112 RESTORE P+901 READ Sf^FUINT ,SJ 
S$ is State 9uessed 




Lines 1Q-6S Prosriiii initialization 






113 RESTORE P+908 READ Sf P1=P 


Colors 


If fire buttoTi is pressed, check if 




suess is correct. 


10 GRAPHICS 7 COLOR 3 P*E 752,1 




12 SETCOLOR 4.13,2 


114 RESTORE P+90e READ St^IF PTRIG(0;'=0 




THEN GOSUB 168 GOTO 100 


Dlftension strinsa 




A(51>=1 H state is suessed con-^ectla. 


Adjust P to new paddle position. 




Display outline of state 


28 Din S*<29>,C*(20),ft$',20>,ft<51> 


115 P=INT(PhDOLE'0V4.5> IF P<1 THEN P=l 


C.W are tVie riumber o^ correct/wr^-e 


116 IF P>50 T1£H P=5a 


suesses 


118 IF P1=P THEN linsif! 706 i:;OTu 114 




119 GOTO lie 


22 Sl=10 l#0 c=e 






Cl-£ck is sijess 15 correizt, ad.just 


Display box tor bar srafKs. 


couriters 


38 PLOT H2,79^DR«*IT0 142,28DRhUT0 159, 


160 IF AI=SJ Th£H PRINT SETCOLOR 4,11,1 


28 


" ^PRINT "CORRECT" H(S-900)=hC=i;+l GO 




TO 192 


Plot 50 states 


170 U=W+1 SETCOLOR 4,5,10^? 7 ^PRINT " 




IW::ORRECT "GCeUE 7;-9 


48 FOR J=l TO 50 RESTORE >90e ^ QTSI B 960 


180 SOUND e, !2,2,8 


^tCXT J 


190 FOR 1 = 1 TO 58S «<rr ! GOTO 195 




192 GOSUB 750 FOR i=l TO 3 ■FOR -J=l TO 56 


Zero answer array. 


■SOLWD 0, J. 10. 7 NEXT J fEXT I 




195 RESTORE S COLOR i^GttSUB 96.0 RETI.IRN 


44 FOR 1=8 TO 51^A(I )=0 KCXT I 






End of saiTte proniPt 


Input State/Capital optiori. 






220 FOR 1=1 TO 200-SOWC ti.M0.4 fCT I 


68 P=P(«X.E(0MF P1=P T^EN 64 




61 PRINT "Tu-n the paddle knob- tVien pre 


221 PRINT " TiriE MIN ";MN, " SEC 


ss fire" PRINT "to select sour choice ■" 


",S£ 




222 PRINT "PF£SS FIRE to centime ^'' 


62 Pl=PaF PM13 ^m\ PRINT ," Guess ti* 


" 


CapiUI " 


224 SOUND e,RNC!<0:«25a.ie,4 


63 IF P<114 T1€N PRINT ," Guess the Sti 


226 SETCOLOR 4,RNDv3»15,RfC'-0 iSlS 


te " 


228 IF PTR!G<0.>=1 THEN 224 


64 IF PTRIG<0>=1 Tt€N 30*0 0,RN(X0)«258 


238 RLN 


.18,2 GOTO 60 




65 FOR 1=1 TO 58 SOUK) 0,1, 10,6 SETCaOR 


Gcess the Capital . 


4,RMX0m5,RMX0»15 hCXT I 




Zero tinier. 


Check if ei,.'ery capital kjs been 




suessed . 


66 POKE 20,0 POKE 18,0 POKE 19,0 






308 SETCOLOR 4,13,2 P=25 FOR 1=1 TO 56 1 


branch to State/Capital option. 


F A< I >=0 THEN 303 




301 htXT I fflTO 22S 


a IF p<ii4 T)CN lee 




68 GOTO 308 


Select rafidom capital to be suessed 


Guess U-« SUte. 


383 P1=0 : S=INT( RNDi ):S50 .■+9S1 ■ IF * S-9nti 




)>0 THEN 303 


Check if an SUtes haw been guessed. 


READ Capital to be suessed 



SoftSidc DECEMBER, 1980 



31B ? ■■? ■■? RESTCRE S READ Af 

Adjust paddle 

329 P=IHT<P«10LE(9>/4 5> IF P<1 THEH P=l 

321 IF P>50 Tf£N P=50 
325 IF P1=P ThEN 336 

Print Capital to be suessed 



330 RESTORE P+799f£{a SI PRINT ,S$ 
332 G0SU8 609 RESTORE P+SeSREftO Sf PRIM 
T m;" ",SE," 'iSS 
334 RESTORE P+i^l REhO St F'RIHT ,SJ 



S$ is suess, GG 15 Stat* nuiiiber 
for capital . 



336 RESTORE p+80e^RE«) Sf-GG 



Check if SLtass is corr-ect u)F.en fir-e 
button is pressed. 



338 RESTORE GG+?^READ Sf 
350 IF PTRIG"::0>=0 THEN '' GOSUB 160 Omi 
300 



Outlirie State, continue. 



360 P1=P GOSIX' 700 GOTO 320 



Adjust time. 



600 SE=( PEEKO S >:J:25fc+PEEKf: 28 )+PEEK( 1 S >«6 

5536 ;v60 

602 t1N=IHT( S£.-'6b > SE=!HT( SE-MNSte > RETLR 

H 



Out ) 1 ne ( or trace ) Stats 



798 IF 0=1 T^£H 0=2 GOTO 705 

702 0=1 

795 RESTORE S CCLUR D^OXiB SbO^SOIJMD 8, 

S«3. 10.5 RETLRH 



Adjust bar 9raph 

0*ck: for liiore tl-.ar 19 misses. 



759 COLOR 2 PLOT 159.78h; [KhWTO 159.78- 
C RETUF+I 

760 COLOR ! FtOT 144,79-W42^DRAWT0 148,7 
9-W«2 

762 IF W=10 THEH '■:' PF:!HT "Vou have miss 
ed 10 =iue5ti 01-15 II" GOTO 220 
764 RET!JR'.4 



DhTh for Cafiti's 

TI-(L- number if tl-£ DATA LINE * plus 

900 of the match ins State 



800 DATA 

801 DATA 

802 DATA 
303 DATA 

804 DATA 

805 DATA 

806 DATA 

807 MTA 

808 DATA 

809 DATA 

810 DATA 
en DATA 
S12 DATA 

813 DATA 

814 DATA 

815 DATA 

816 DATA 

817 DATh 

818 DATA 



■ " \ 

ALei*iY,32 

AMHhFiX!S.2S 

ATLANTA, 10 

AiXLSTA, 19 

HIJ:£T!N,43 

BATOti ROUGE. 18 

BISriAR-CK.34 

eO:.':E. 12 

S!ET0ti.2! 

CARSON CITY, 28 

!:MARLEiT0H.48 

CJC' ;■£«■£. 50 

COLUri£TA,40 

C0LU1SJS,35 

C0HC0FB.29 

DEW.tR.e 

DES mit£S, 15 

OOl.ER.8 



819 DATA FRAM<F0RT,17 

820 DATA H(W?ISeiJRG,38 

821 DATA HARTFORD,? 

822 DATA lEL£NA,2e 

823 DATA H0MXIJLU,11 

824 DATA IW)IAHAP0LIS,14 

825 DATA JACKSON, 24 

826 DATA JEFFERSON CITY,25 

827 DATA Jl*CA(J,2 

828 DATA LANSING, 22 

829 DATA LINCOLN, 27 

838 DATA LITTLE R0CK,4 

831 DATA f1A0ISCN,49 

832 DATA rtONTGOTCRY, I 

833 DATA H0NTPaiER,45 

834 DATA NASW.IILL£,42 

835 DATA OKLAHOMA CITY,36 

836 DATA 0LYrf>IA,47 

837 DATA PHOENI.X-3 

838 DATA PIERRE, 41 

839 DATA PRaiII»CE,39 

840 DATA RALEIGH, 33 

841 DATA RICHMOND, 46 

842 DATA SACRflf€NT0,5 

843 DATA SALEM, 37 

844 DATA SALT LftCE CITY,44 

845 DATA SANTA FE,31 

846 DATA SPRINGFIELD, 13 

847 DATA ST PAUL, 23 

848 DATA TALLAHASSEE, 9 

849 DATA TOPEKA, 16 

850 DATA TRENTON, 30 

851 DATA ■■-\0 



DATA for states 

The first » is tl-* nunber of 

coordinates r-emainiris in Vne DATA 

line for ead-. States outline 

minus 

one — for example, 

950 DATA WOTING,3, ... means 
Ujoairts Has four points ( corners .1 to 
be plotted- TV* reinainire riuinbers in 
tine line ar^ Uie actual paired X.Y 
coordinates for tl-.e State's outline. 



906 DATA ""'■ 

901 DATA ALASAnA,4, 85, 49,91, 49,92, 62,87, 
62,85-63 

902 DATA ALA:;KA,9, 24, 79.20,75,20, 64.14,6 
3,9,65, 10,69,8,73, 19,76.2,79, 19,76 

903 DATA ARIZ0f«,5,23, 42,35, 42,35,60,29, 
60,21,54,22,46 

904 DATA ARKAtt5AS.4,70.45,81,45,78,54,72 
,54,70,52 



995 DATA CALIFORWA, 3,3, 27, 11,27, 11,34,2 
2,46,21.54.16.54,9.47,2.34.3.27 

906 DATA Ca0R'AD0,3.35.31,51,31,51,43,35 
,43 

907 DATA CW»€CTICUT, 3,117,27, 121, 27,121 
,30. 117. .30 



908 DATA DELA!.iARE.3. 113,35. 116.36. 115.39 
,113,39 

909 DATA FUDRIOA. 6. 87.62.102.62.107.72,1 
05,77,102,73,100,66,67,64 

910 DATA GE0R(:iA,4,91,49,97,49, 103.58, 10 
2.62,92.62 



911 DATA HAl-JAII, 0,31, 72,34, 73, .33, 74, 37,7 
4,38,74,37,75,40.76.39.79.42.78.40,76 

912 DATA IDAHO,6,20,5, 24.6.28,21, 31, 21, 3 
1.27,18,27,20.14 



913 DATA ILLIN0IS,6, 78, 27,79.28. 76, 32,81 
,43,85.41,85,29,83,27 

914 DATA IfCIANA,3,85,29,85,41. 92,36,92, 



29 



915 DATA I0UA.4. 66.24, 76,24,79,2S:, 76,32. 
67,32 

916 DATA KAfSAS, 3,51, 33,68.33.79. 43. 51. 4 
3 

917 DATA KEHTU3<Y.6,3!.45.S1.43.85.4!.92 
,36,99.38,100.41,97,44 

918 DATA L0UISIANfi,5.72,54.79,54.7S,£2'-8 
1.62.82.66.73.64 

919 DATA t1AI,i-E,4. 123.12. 124,23. 133,13. 12 
9.3.125,4 

920 DATA riAR'ilAf«J,5-195,.35, 113,35, 113. 39 
.115.39,113,41,110,37 

921 DATA nASSACrtJSETTS.3, 117,24. 123,24,1 
24,27,117,27 

922 DATA MICHIGAN.?, 99, 14,84. 15.7:3, 15. 9!3 
.14.96,22,95.29,87,29,88.22 

923 DATA MIH£S0TA,5.62.9.7?.ll .72, 18.76 
.24.66.24,62.9 

924 DATA MISSISSIPPI .6,^3,49,85,49, 85,63 
.81.64,81,62,78,62,79,54 

925 DATA MISSOURI, 3,67.32, 76. 32,81, 45, 79 
,45 

926 DATA M0NTANA,5, 24, 6. 47,8,47, 19,31, 19 
,31,21.28.21 

927 DATA NEBR(eKA.6.47.25.61.2'5,66,26,68 
.33.51,33.51.31,47,31 

928 DATA NEi,'ADA,4, 11, 27. 11,34,22,46,23,4 
2,23.27 

929 DATA ^€1J HAMPSHIRE, 3, 121. 13. 119.24, 1 
24,24.123.12 

930 DATA lEW XRSEY.4, 113,28. 114,33, 113, 
35, 116, .36, 117,30 

931 DATA fBJ ME':!0;',4, 35, 43,48,43, 48,58, 
42.58,35,60 

932 DATA HE.U Y0RK,6, 102,28, 193,25,106,23 
,111,15,116,14,117,30,113,28 

933 DATA NORTH CAROLINA, 5, 101,44.112,43, 
114,47.198,53,105,48.95,49 

934 DATA NORTH DAKOTA, 3,47, 8,62.9.64, 17, 
47,17 

935 DATA OHIO, 4,92, 29. 192,28, 102,35.99,3 

g Or? 7g 

93rDATH OHAH0MA,5,4S,43,78,43,7O,52,55 
.51.55.45,48,45 

937 DATA 0REC0H.4. 6. 11.3.27,18,27,20. 14, 
8,15 

938 DATA F€h»eYLi.iAN!A.4, 102,28, 113,28, 11 
4,33,113,35,102.35 

939 DATA RHODE ISLA«, 3, 121,27, 124.27,12 
2,29,121.30 

940 DATA SOUTH CAfiClIHA,3,9?,49, 195,48, 1 
08,53,103,58 

941 DATA SOUTH DAKOTA. 4. 47.17.64, 17,66, 2 
6,61,25,47,25 

942 DATA TEh»€SSEE, 3. 81, 45. 191 .44.95.49, 
80,49 

943 DATA TEJWS:, 11, 43, 45, 55,45, 55.51. 79.5 
2,72,54,73,64.65.70.63,78.52.64,47,68.42 
,58,48,58 

944 DATA UTAH,;,23,2?. 31, 27.31, 31. 35,31, 
35,42,23,42 

945 DATA UERMCINT.3. 116, 14. 121, 13, 119,24, 
117.24 

946 DATA UIPGIHIA,5, 198.37, iaa.41,97.44, 
112,43, 113,41, 119,37 

947 DATA !.JftSHINGTaN,6.5,5.9.7, 1! .3,2'9,5. 
20,14,8,15.6,11 

948 DATA ktST iJ!K!NI«.4. ie;i'..35. 195,35, 1 
09,37, 190,41 .95,35 

949 DATA l.J!£CeV;iN,6.74. 14,72. lS.rfc.24.7 
8.27.83.27,84,18.78,15 

959 DATA 1WDM!NC.3.3!,19,47. 19.47,31 31. 

31 

951 DATA ^ ■ 



This routirie x'iU read thie 
coordinates fot^ each State ar:.:j plot 
the outline for the State. 



960 READ St.N.::,Y PLOT X+Sl.V 

961 saw 9,K+v, 10,6 

962 IF SI="HH!.iAI!" THEN 979 
964 FOR 1=1 TO H READ A.E 

966 DRAWTO A+S1,E ^E^T I DPAWTO M+S1,Y P 

ETLRH 

970 FOR 1=1 TO 5 RE;(0 A.SPLOT A+S1,E t€ 

XT I 

972 READ A, B' PLOT h+SLBkEHD A.B DP«-;T0 

A+S1,BRE.AD ft, £ DRAWTO A+Sl.E 
974 READ A,B^DRfil-iTO ft+SlBRETlJ 



® 



SoftSide DECEMBER. 1980 



8/ 



For 



TRS-80 
Model 1 

TRS-80 
Model 2 

APPLE 2 



^^Adventure 



r:, 






^Adventure 




^^dventure 



^: 




\Wm. 



3 






Gcott Jldams le 



Adventure 



Adventure by Scott Adams is like no other program you have 
ever seen! Inspired by the large Adventure game found on 
big computers in the last few/ years, it will run on your 16K 
Home Computer! This is one game you will NOT master in 
an hour and then lose interest in! Adventure is a machine 
language program using all 16K of your computer. Adven- 
ture supports your optional lower case hardware and has a 
unique split screen video driver with blinking cursor!* 

Adventure is so fantastic that the author was asked to speak 
on it at the Personal Computer Festival of NCC '79! Adven- 
ture was also the cover feature of the August 1979 issue of 
Creative Computingl Adventures are very addicting! 

O.t "SPECIAL SAMPLER" - Never tried Adventure? This 
special inexpensive sampler complete with 3 Treasures 
is a cut-down version of our large Adventureland. 
Guaranteed to supply hours of enjoyment: Try an Adven- 
ture today! 

1.t ADVENTURELAND ■ You wander through an enchanted 
world trying to recover the 13 lost treasures. You'll en- 
counter wild animals, magical beings, and many other 
perils and puzzles. Can you rescue the Blue Ox from the 
quicksand? Or find your way out of the maze of pits? 
Happy Adventuring. . . . 

2.t PIRATE'S ADVENTURE - "Yo ho ho and a bottle of 
rum..." You'll meet up with the pirate and his daffy bird 
along with many strange sights as you attempt to go 
from your London flat to Treasure Island. Can you 
recover Long John Silver's lost treasures? Happy sail- 
ing, matey. . . . 

3. MISSION IMPOSSIBLE ADVENTURE - Good morning, 
your mission is to ... and so it starts. Will you be able to 
complete your mission in time? Or is the world's first 
automated nuclear reactor doomed? This one's well 
named. It's hard, there is no magic, but plenty of 
suspense. Good luck. . . . 

4. VOODOO CASTLE - Count Cristo has had a fiendish 
curse put on him by his enemies. There he lies, with you 
his only hope. Will you be able to rescue him or is he 
forever doomed? Beware the Voodoo Man. . . . 

5. THE COUNT - You wake up in a large brass bed in a cas- 
tle somewhere in Transylvania. Who are you, what are 
you doing here, and WHY did the postman deliver a bot- 
tle of blood? You'll love this Adventure, in fact, you 
might say it's Love at First Byte. . . . 

6. STRANGE ODYSSEY - N/larooned at the edge of the 
galaxy, you've stumbled on the ruins of an ancient alien 
civilization complete with fabulous treasures and un- 
earthly technologies. Can you collect the treasures and 
return or will you end up marooned forever? . . . 

7. MYSTERY FUN HOUSE - Can you find your way com- 
pletely through the strangest Fun House in existence, or 
will you always be kicked out when the park closes? . . . 

8. PYRAMID OF DOOM ■ An Egyptian Treasure Hunt leads 
you into the dark recesses of a recently uncovered 
Pyramid. Will you recover all the treasures or more likely 
will you join its denizens for that long eternal sleep? . . . 

9. GHOST TOWN ■ Explore a deserted western mining 
town in search of 13 treasures. From rattlesnakes to 
runaway horses, this Adventure's got them all! Just 
remember, Pardner, they don't call them Ghost Towns 
for nothin'. (Also includes new bonus scoring system!) 





■^(?¥ 



•^^ 







V. ''\ \ 



\ \ 



'Note: Apple requires 24K and has no lower case, t Recommended for the novice adventurer, with many built-in HELPS! 

o2 SofiSide DECEMBER, 1980 



Preferred by 
computer 
professionals 
everywhere! 



The BEST green 

screen available! 

Solid, thick ^reen 

plastic with beveled 

edges. Don't confuse 

this With the thin film 

offered by other 
manufacturers. Ready 
to iristall, self- 
bonding, gives 
dustproof sea!, 
optically correct with 
.. Portion, and 
■itierpfoof. Fits 
TRS-80 Model 1, , 
Model It ar\d Leedex 
Video 100 n^onltors, 

$19.95 



The 

Sahware 

Exchange 

TO ORDER TOLL FREE 
1-800-258-1790 

(In NH call 673-5144) 



Galactic 
trtlogq 

by Douglas Carlston 




upyourshoot-em- 

^1 \ \ ' \ \\ up games and move up to 

J^ \ \\ \\ grand strategy! Fight your 

\ \ \ wars as a general, not a 

^mere pilot! 

1 » \ \ \\ 
Galactic Empire — As commander of Galactica's Imperial 
Forces, you must conquer and hold theinhabited worlds of the 
galactic system. Deploy armies, raise taxes and conscript 
soldiers, gather intelligence, manage resources. 

Galactic Trader — You have succeeded in uniting the 
universe. Now you are an ex-soldier who must scramble for a 
living as an intergalactic tramp freighter. Outwit the locals at 
bartering, struggle with the fuel cartel, and outmaneuver the 
big trading monopolies as you seek your fortune. 

Galactic Revolution — The emperor is a bungler and is 
becoming upopular. Your popularity is a threat, and he is 
seeking to kill you. Turnabout is fair play, so you start a 
revolution to unseat him. Will you succeed? 

Each game...16K Level II Cassette $14.95 

Special! — All three on Disk (32K) $39.95 

TheSahware Exchange 

6 South StKet. Milfotd.NH 03055 




ORDER TOLL-FREE: 1-800-258-1790 

(in NH call67J-5144| 



^^^^^Q VISA 



SoftSidc DECEMBER, 1980 



83 



IT'S A DAISYWHEEL COMPUTER 
PRINTER & AN ELECTRONIC 
TYPEWRITER * 

BUT ... 



W Jr ...UNLESS YOUR 




...UNLESS YOUR 

PRINTER & YOUR 

SOFTWARE ARE 

TOTALLY 

COMPATIBLE 



$2850 

Suggested R' 



TheTYPRINTER 2 

Is a TYPEWRITER QUALITY, DAISYWHEEL PRINTER that is Totally Compatible with 
All Word Processors. That's because the TYPEPRINTER 221 may be PROGRAMMED 
in PLAIN ENGLISH, Imbedded within The Text File of All Word Processing Software! 

Use the 221 as your. . . 









Electronic Typewriter 

) When not being used as a Computer 
' ' Printer, the 221 becomes a fully functional 
Electronic Typewriter. 

Stand Alone Terminal 

Available options allow the 221 to 

Communicate with Distant Computer 

or Information Services such as Source, 

Micronet & others. 



Computer Printer 

it's a Daisywheel Computer ( 
Printer with more standard features ' 
and available options than any other machine. 




^ff!#P#'-^ 



Tele-Communications Terminal 



Additional Options 



Option available to allow your 

221 to access the Teletype & 

Telenex networks. 

Telex & Teletype are registered trademarks. 



Built-in Features 



'■'■f?^^;^> 'i 



4Kor 16K RAM Memory which can be used as INPUT or OUTPUT 
Buffers. Also use as an Automatic Spooler to your computer. Bi-Directional 
Communicafons from The 221 to your Pet, Apple or TRS-80. Nothing else 
to buy. Lawyers. Accountants and others will find our Automatic Strike-Out 
Type and High Density Spacing options very useful. 



The 221 Centers Copy Automatically, Sets Columns, Prints in Reverse. 
Bold Face and Underlines Automatically. The 221 also Justifies Right, 
Types in Three Pitches and does Proportional Spacing. It Types in 
Spanish. French. German. Italian and Portugese as well as English. 
And much, much more! 



IHPIRDSIIXA 



6 South Street, Milford, NH 03055 



TOLL FREL OROFRS 

1-800-258-1790 

(In NH call 673-5144) 




Create 3- 

dimensional 

graphics! 

by Mark Pelczarski 



3-dirnensional figures can 
be rotated, shifted, scaled, 
or distorted. Each figure 
can be saved on disk and 
later assembled into larger 
figures, with each part 
capable of being 
manipulated. Screen 
images may be saved and 
used with other programs. 

48K Applesoft ROM 
$29.95 on diskette 




TO ORDER 
TOLL FREE 
1.800-258-1790 

(In NH call 673-5144) 



^ 



Now you can have 
a way with words . . . 

Scripsit - the new 

word processor from 
Radio Shacl<! 




SCRIPSIT features Lower case capability; total documentation 
formatting; error correction by deletion, insertion, overwriting and 
exchanging; automatic headers, footers, and page numbers; global 
find, replace, and delete; Operator-defined blocks for hyphenation 
and editing. 

SCRIPSIT will produce letters or any text material. The documents 
can be stored on disk for revision and update. 

If you've seen or used the Electric Pencil, you'll be delighted with 
SCRIPSIT's versatility and extra features. Rapid typists will appreciate 
the fact that SCRIPSIT does NOT lose letters at the end of each line. 
Titles can be automatically centered. Screen width can be changed 
to match your printer. Tabs can be set, etc . . . 

If you are a BASIC programmer, you'll want to utilize SCRIPSIT's 
ability to work directly with BASIC programs. 

SCRIPSIT comes on disk with thorough documentation and 
sample text files. Includes three audio cassette tapes which cover all 
aspects of this exciting Word Processing Package. 

32K Level II TRS-8C); one or more disk drives; lineprinter. 

The Complete SCRIPSIT Package (with Binder, Manual, 2 Disks, 3 
Cassettes, Instruction Summary Card and special press-on key labels) 
is only $95.00 + $2.00 shipping. 

NEW! Scripsit Cassette/32/M $65.00 + $2.00 shipping 



The Software Exchange 

6 South Street, Milford, NH 03055 

TO ORDER TOLL FREE 
1-800-258-1790 

(in NH 673-5144) 






VIS4 



SoflSide DECEMBER, 1980 



85 




LEARN MICRO-COMPUTERS 



(Sceibi) 

A new multimedia information 
package. Includes text 
("Understanding Microcomputers") 
plus high-quality cassette. For the 
beginner just starting in 
microcomputers. Covers all the 
basics quickly, easily and enjoyably. 
Companion tape includes chapter- 
by-chapter synopsis of the book. 
Great new idea for self-study. 
$14.95 plus $1 

TAKE MY COMPUTER . . . PLEASE! 
S. Ciarcia 
(Sceibi) 

An uproariously funny book about 
the true-life misadventures of author 
Steve Ciarcia and his computer's 
inability to cooperate. Hardcover. 
$5.95 plus $1 

MICROCOMPUTER POTPOURRI 
(Sceibi) 

A pocket-sized reference for the 
beginner. Has a really great glossary 
covering all the jargon. Full digest on 
understanding microcomputers. 
$3.95 plus $1 

CALCULATING WITH BASIC 
R Guido 
(Sceibi) 

Use your computer to calculate 
home mortgage payments, interest 
rates, payback periods and more. 
Complete routines already worked 
out for problem solving using BASIC 
language. Also includes 
mathematics, finance and statistics, 
mechanical engineering and 
electronics. $8.95 plus $1 

PERSONAL INFORMATION 
MANAGEMENT SYSTEM 

(Sceibi) 

When you're in business you've got 
a personal stake In how information 
is managed. That's because 
information is your key to success. 
PIMS will allow you to unleash the 
power of a microcomputer - and you 
don't have to become a programmer 
first. Use a computer for accounts 
receivable . . . accounts payable . . . 
maintain inventory records . . .run a 
mailing list . . .keep track of credit 
charges. These are just a few of the 
many things you can do with PIMS. 
It is a ready-to-use data base 
management program for computers 
like the Commodore PET and Radio 
Shack TRS-80. $1 1 .95 plus $1 

APL - AN INTERACTIVE 
APPROACH 

L Gilman. A.J. Rose 
( Wiley and Sons) 

This revised second edition has 
been renamed to reflect the fact that 
several versions of APL are currently 



being offered. In recognition of 
API's growing use in business 
applications, more examples have 
been included, and the body of the 
text itself has undergone a modest 
shift in orientation toward 
commercial uses of APL. 

For this edition, nearly all the 
example functions in the text have 
been placed in a workspace named 1 
CLASS. If your APL system lacks 
this workspace, it may be obtained 
from Scientific Time Sharing 
Corporation. $16.95 plus $3. 



LITTLE BOOK OF BASIC STYLE 

J M Nevison 
(Addison-Wesley) 

Ideal reference for BASIC 
programmer, junior high to research 
scientist. Indexed, illustrated, 151 
pages. By John M, Nevison $5.95 
plus $1 

Z-80 AND 8080 ASSEMBLY 
LANGUAGE PROGRAMMING 

K Spracklen 
(Hayden) 

The best introduction to assembly 
language we sell. You should have 
experience in BASIC. $7.95 plus $1 



Z80 INSTRUCTION HANDBOOK 

N. Wadsworth 
(Sceibi) 

Convenient pocket-size manual 
describes Z80 capabilities in easy-to- 
understand terms. Designed as a 
practical reference to mnemonics, 
machine codings, usage. For 
programmers of every level - 
beginner to professional - anyone 
working in Z80 machine or 
assembler language. Appendixed. 
$5.95 plus $1. 



THE SECRET GUIDE TO 
COMPUTERS 

(Sceibi) 

A quickie course on computers. 
$5.95 plus $1 



SARGON HANDBOOK 

D. Spracklen, K Spracklen 
(Hayden) 

Complete documentation covering 
all algorithms in Sargon can be 
found in this guide book. Contains 
complete table of contents, block 
diagram of the program, four part 
introduction, Z-80 listing, index to 
subroutines. Fully annotated. 
$15.95 plus $1 



TheSoHwate 
Exchange 

ORDER TOLL FREE 

1-800258-1790 

(In NH call 673 5144) 



TRS-80 ASSEMBLY LANGUAGE 
PROGRAMMING 

W. Barden Jr. 
(Radio Shack) 

Covers Z-80, and introduction to 
Assembly Language, the Radio 
Shack Editor/Assembler and T-Bug, 
and debugging methods; also 
explains how to move data, the use 
of arithmetic, compare, logic, and bit 
operators, shifts, strings, tables, 
input and output, and 12 commonly 
used subroutines. Well indexed and 
illustrated. $3.95 plus $1 

Z-80 SOFTWARE GOURMET GUIDE 
AND COOKBOOK 

N, Wadswonh 
(Sceibi) 

Over 100 usable subroutines, plus 
how to use them. $15.95 plus $1 

TRS-80 DISK AND OTHER 
MYSTERIES 

H. Pennington 
(IJG) 

The serious programmers' guide to 
Disk BASIC and the wonders of 
NEWDOS +. $22.95 plus $1 
6502 SOFTWARE GOURMET GUIDE 
AND COOKBOOK 

R, Findlay 
(Sceibi) 

Includes instruction set, floating 
point and decimal arithmetic, search 
and sort routines, and more. $12.95 
plus $1 

FORTRAN IV, 2nd Ed. 

J, Friedmann. Ph D.. P Greenberg, Ph.D., A. M. 
Hoffberg, CPA. MBA 
(Wiley & Sons) 

This revolutionary new edition of 
the standard FORTRAN guide is 
heavily oriented to personal 
computers. Ninety percent of the 
material can be implemented on 
microprocessors; users of mainframe 
computers will also find the book 
applicable to their needs. As 
thousands more companies and 
individuals buy microcomputers for 
scientific, industrial, research, and 
professional uses, this much-needed 
manual will find a ready market. 

FORTRAN, 2nd Ed. gives complete 
explanations - with comparative 
tables - of the new standards for 
FORTRAN developed in 1977. 
Whether you use FORTRAN 77 or 
FORTRAN IV, the authors point out 
all the differences and let you follow 
whichever version is right for your 
machine. You'll start writing basic 
FORTRAN almost immediately, then 
learn standard extensions and 
advanced options. Previous data 
processing background and access 
to a computer are unnecessary. 
$10.95 plus $1 



86 



SoftSide DECEMBER, 1980 



PATHWAYS THROUGH THE ROM 

R.M, Richardson, R. Fuller. J. T.Phillipp, G. Blank. J. 

Hartford 

(SoftSide Publications) 

The definitive guide to Level II 
BASIC. Includes Super Map by Fuller 
Software. The TRS-80 Disassembled 
Handbook by Robert Richardson, 
HexMem by J. Philip, Z-80 
Disassembler by George Blank and 
DOS Map by John Hartford. $19.95 
plus $1 
LEARNING LEVEL II 

Dr DA, Lien 
(Compusoft) 

The User's Guide to Radio Shack 
Level II BASIC. $15.95 plus $1 
CP/M SOFTWARE SUMMARY 
GUIDE 

( Rainbow Associates) 

Rainbow/ Associates announces the 
CP/M Software Summary Guide — a 
concise, handy summary of the 
major software used on most CP/M 
systems. Included are summaries of 
the CP/M operation system, 
Microsoft BASIC, CBASIC", and the 
CP/M utilities DESPOOL'", MAC", 
and TEX. 

The CP/M Software Summary 
Guide, 60 pages long, is designed to 
be especially easy to use. Features 
are organized alphabetically, so the 
reader can find an explanation 
quickly rather than having to page 
through various function sections. 
S4,95 plus $1 
THE BASIC HANDBOOK 
by Dr. David Lien 
(Compusott) 

This book is unique. It is not a 
textbook. It's far more than a 
dictionary. It is a virtual 
ENCYCLOPEDIA of the BASIC 
language. 

While not favoring one computer 
over another, it explains over 250 
BASIC words, how to use them, and 
alternate strategies. Since over 50 
computers are represented, yours is 
probably in here too. 
$14.95 plus $1 
UNDERSTANDING MICRO 
COMPUTERS 

(Scelbi) 

Here are the answers to hundreds 
of questions about microcomputers. 
Written in simple English. You get 
the fundamental concepts behind the 
operation of virtually all 
microcomputers. Convenient 
glossary covers all the key words. 

Introduces BASIC language 
programming. Tells how to select a 
small computer system. Basic 
instructions for almost every class of 
microprocessor are illustrated along 
with details on how a CPU is 
organized and how it follows 
directives and solves problems. 
Explains flow charts, program 
worksheets and memory maps. 
$9.95 plus $1 

USING CP/M 

Fernandez & Ashley 

CP/M — the Control 
Program/NAicrocomputers 
software package — is the most 
widely used microcomputer 
operating system. With it, tens of 
thousands of users operate their 



microcomputers and perform 
routine work functions. Now two 
authors of bestselling Wiley 
computer books present a 
complete, detailed introduction to 
the use of CP/M for maximum 
capability and efficiency — with 
any hardware, using any 
programming language. 

Now microcomputer users can 
get the most from their software 
(or "firmware") — for best results 
from their hardware! 
$8.95 plus $1 

INTRODUCTION TO LOW 
RESOLUTION GRAPHICS 
N. Wadsworth (Scelbi) 

Now you can produce amazing 
computer graphics - even if you can't 
draw a straight line. Literally! Learn 
how to draw lines and shapes, make 
graphs, draw pictures and even do 
animation. The simple secrets of how 
to do all this are contained in 
SCELBIs new book "Introduction to 
Low Resolution Graphics." 
$11.95 plus $1. 
VINYL BINDERS 

Quality vinyl binders with 12 metal 
rods, perfect for storing your back 
issues of SoftSide. $4.95 +$1 
STIMULATING SIMULATIONS, 
2nd Edition 

by C W Engel 
(Hayden) 

An exciting handbook containing 
twelve "simulation programs, " which 
are actually game programs. Each 
program is presented with a listing, 
sample run, instruction, and program 
documentation, including flow chart 
and ideas for variations. 

$5.50 plus$1 
A CONSUMER'S GUIDE TO 
PERSONAL COMPUTING AND 

MICROCOMPUTERS by S Freiberger and 

P. Chew Jr. 

(Hayden) 

Both an introduction to the 
principals of microcomputers that 
assumes no previous knowledge on 
the reader's part, and a review of 64 
microcomputer products from over 
50 manufacturers. Other features 
include: extensive illustrations to 
reinforce the discussions, a selection 
and sources section to assist in 
reviewing, selecting, and purchasing 
microcomputer products: summary 
charts of major microcomputer 
products offering a quick summary 
of specifications for a given product, 
and comment sections covering the 
advantages, disadvantages, and best- 
buy tips for each microcomputer 
product. 

$8.95 plus$1 

THE MIND APPLIANCE: HOME 
COMPUTER APPLICATIONS 

by T.G. Lewis 

(Hayden) ^ 

Chock full of unique and 
challenging ideas for applying your 
computer to home use. Make your 
computer write poetry, balance a 
checkbook, dial a telephone 
automatically, handle household 
budgets, menu planning, shopping 
lists, and income tax calculations. 
Dozens of BASIC language 
programs. $9.55 plus $1 



TEN EASY PIECES: CREATIVE 
PROGRAMMING FOR FUN AND 
PROFIT 

by H Sagan and C. Meyer. 
(Hayden) 

An introduction to the BASIC 
language through computer games. 
Written in an informal style, it 
stimulates interest in creative 
programming of games of chance 
and of skill. Teaching by example, 
these games illustrate the various 
programming techniques at stages of 
difficulty which are suitable to almost 
unlimited modification, simplification, 
or amplification. Emphasis is on 
prompting creativity on the part of 
the reader. The text requires little 
knowledge of elementary 
mathematics. 
$7.95 plus $1 



UNDERGROUND GUIDE TO 
BUYING A COMPUTER 

(Scelbi) 

This book is a guide to buying 
a microcomputer. Computers, 
like people, come in all sizes. 

The most popular 
maxicomputer has been the IBM 
370 (which is being replaced by 
the IBM 3030 and the IBM 4300); 
the most popular minicomputer 
is the PDI^-11; the most popular 
microcomputer is the TRS-80 . 
But before you buy a computer, 
look at the competition. IBM, 
DEC, and Radio Shack aren't the 
only fish in the sea; some of 
their competitors have something 
to offer, too. Treat a computer 
purchase just as you'd treat any 
other important decision — 
check out all the facts. 
$5.95 plus $1 

TRS-80 INTERFACING 

J A Titus 

(H.W, Sams& Co.) 

What you need to know to connect 
your TRS-80 to the world. Assumes 
knowledge of some machine 
language programming. $8.95 plus 
$1. 

TRS-80 INTERFACING - Book 2 

by Titus, Titus, and Larsen 

(H.W Sams & Co ) 

Introduces you to more 
advanced interfacing techniques 
that allow you to do new things 
with your TRS-80 computer. You 
learn how to drive high current 
and high voltage loads, how to 
generate voltage and current 
signals used in a variety of 
control applications, how to 
measure unknown voltages and 
currents with your computer, and 
how to use remote control circuits 
that allow you to control 
Universal Asynchronous 
Receiver/Transmitter Chips, 
analog-to-digital and digital-to- 
analog converters, and other 
devices located some distance 
from your computer. Contains 
complete software examples. 
$10.95 + $1 



SoftSide DECEMBER. 1980 



87 




SPEEDELLO 



by Dave Bohlke 

Speedello is for a 16K Atari with 
one joystick. 

Speedello is an adaptation of the 
popular strategy board game of 
Othello. In this version, one 
human player is pitted against the 
computer and the clock. Since the 
BASIC language is slow in 
execution time, it is usually not 
used when a lot of computer 
evaluation is needed — as in 
strategic games Hke Othello. 
Speedello, though, makes its move 
according to the board square 
location, not the piece situations. 
The advantage here is that the 
computer can select its move in a 
very few seconds. On the other 
hand, this evaluation does not 
make for a very strong game on 
the computer's part. 

So to make play more 
interesting, this version has a 
response timing clock which will 
record your move time. Thus the 
object of the game is to not only 
win, but to win in the shortest 
possible time. Perhaps you can 
even compete with friends to see 
who can play the quickest winning 
game. But don't get too careless 
against the computer. The machine 
strategy is good enough to 
consistently beat inexperienced 
players. So if you haven't played 
Othello too much, take your time 
at first and try for a win. Even 
after your confidence grows, the 
machine has the ability to jump all 
over you if your playing strategy is 
weak. 

USING THE PROGRAM 

Plug a joystick into Slot number 
1 . The computer's pieces are in 
red, and yours are green. The 
computer determines who will go 
first by random selection. Two 
graphics bars will be displayed on 
the left of the screen indicating the 
relative number of pieces each 
player has. The exact number of 
pieces for each, as well as the 
current human response time, will 
be displayed in the printing 
window. 

When it is your turn to move, 
press the joystick in any of the 
four cardinal directions to place 
88 



the black cursor in the square you 
wish to move to, then press the 
fire button. If you attempt to 
make three illegal moves during 
any one turn, the computer will 
assume you have no move at all, 
and it will take its turn. Or, if you 
have no square to move to, press 
the fire button three times and the 
computer will continue with its 
move. 



Initia] ization 

Colors^ el iminate Djt^sor. 

5 RBI SPEEDELLO 

6 REM ba David Bol-.lke, Cosson lA 

19 GRAPHICS 5 SETCOLOR 4,10,6 

12 SETCOLOR' 0,4-12^SETCa-OR 1,14.12 
14 POKE 752, 1 SETCOLOR 2,9,2 

S<99> Holds pieces on board 

B(S) = 1 Coi»f>uter- piece (red) 

KS) = 2 Hutian piece Careen) 

KS) = Eiwta s-^uar-e 

KS) = 9 Off edse of board 

P(99) = Mot,* point talue for each 

S'luare 

K8> = Eight possible iwx'e directiors 

F(26) = squares flipped in moue 

20 Din B<99),P(99),0(8),F(28,'i 

til, f12, M3 used to initialize 
real-time clock. 

22 ni=0^ri2=0 113=8 

Plot boaM. 

50 CaOR 3 FOR 1=10 TO 66 STEP 7 PLOT I, 
0^DRftWTO I,39^f€XT I 

52 FOR 1=0 TO 35 STEP 5 > PLOT 10,1 DRffl-lTO 
52 FOR 1=0 TO 35 STEP 5 PLOT 10,1 DRflUTO 
66-rNEXT I 

Eisht directions. 

ee FOR 1=1 TO 8 READ X D(I)=X hEXT I 
62 DflTfi -11,-10,-9,-1,1,9,10-11 

Initial board ar-raa 

64 FOR 1=0 TO 99:B(I)=0 t€XT I 
70 FOR 1=0 TO 9:B<I)=9 e(I+90>=9^hE<T I 
72 FOR 1=1 TO 8 B<I*10>=9 = &:i}:i0+9)=9 « 
XT I 

74 B(44)=l B<45)=2'B(54)=2 B(55)=l 

Plot Pieces. 

75 S=44^C0L0R B<S) GOSUB 960 ^ S=55 GOaJB 
980 

76 S=45^C0L0R KS) GOSUB 960 ^ S=54 : GOSUB 

900 

Initial point arraa. 

88 FOR I=! TO 4 FOR J=l TO SPREAD X^K=I* 
10tJ^P<K)=X P<(4-I)tt&+K+10)=X^hEXT J->£ 
XT I 

81 DATA 9,2,8,6,6,8,2,9 

82 DATA 2,1,3,4,4,3,1,2 

83 DATA 8,3,7,5,5,7,3,8 

84 DATA 6,4,5,8,0,5,4,6 

Zero time, branch to <RND) first move. 

289 Pa<E 18,MPP0KE 19,n2 POKE 20, M3 

290 IF RND<0X0.5 THEN 399 

Human's no'.'e. 

S = current s^iuare, C = Color, 
HI = Ho iwvs flas. 

300 S=44iC=lH1=a 

Start clock. 

302 PCKE lS,ra^POffi 19,fE POKE 20,ri3 



Prcniipts . 
305 PRINT "Use the stick to ame th* c 
ur5or":PRINT "to the 5=«jare aou wish to 
move to , " 
386 PRINT " then press fire ! 

Display cursor. 

310 X=(.S-IHTCS.-10>.«16)S7+4 V=INT<S-'10):S5 
-4: LOCATE X,Y,C 

312 COLOR 3^PL0T X+1,Y+1 ^DRAl-JTO X+4,Y+P 
PLOT X+l,Y+2 DRAWTO X+4,Y+2 

Branch to moi/e if fire button was 
FTessed . 
320 IF STRIG(0)=0 THEN 359 

Get STICK location, .id.jijst cursor 
if necessara. 

322 T=STICK(:a)aF T=!5 TfBi SOUND 9:RMK 

0):S255, 10,4 GOTO 312 

324 COLOR C PLOT :«>1,Y+1 ^CRAWTO X+4,Y+1 

PLOT X+ 1 , Y+2 DRftWTO X+4 Y+2 

338 IF T=7 THEN S=S+!!F B<S)=9 THEN .S=S 

-8 

332 IF 1=13 THEN S=S+;0aF S>90 THEN S=S 

-80 

334 IF T=l! T^EN S=S-1 !F B(S>=3 THEN S= 

s+e 

336 IF T=14 TtEH S=S-ia IF S<11 THEN S=S 

+80 

345 GOTO 310 

Increment no. inoye flas, branch if 
sreater than tkree 

350 Hri=Nri+l FOR 1=1 TO 2£i fCXT MF Nri=3 
THEN COLOR C^GOSUE 900: GOTO 399 
Branch if s-^uare is occupied. 

355 IF B(S)<>0 THEN Sf1=0 COLOR CGOiUE: 9 
00: GOTO 365 

Pfl = Piece to inoue ';2 for Hunian) 
PF = Piece to flip (1 for computer) 
Branch to check for lesal move, St1 
will e^ual S on retu'n if lesa! mc'.'e. 

360 Pt1=2 PF=l:Sn=0:GOSLe 308 

Not lesal aw-'e. 

365 IF SH=0 THEN ? :? :FRIHT "ILLEGAL m 
IE" saw 0,!11,10,8:FOR 1=1 TO 798 ^EXT 
I GOTO 305 
Fill 5-=iuire . 
370 COLOR 3:GC;ue 900 

Place all s^iares to be Flipped in 
F(N). N = HuiBoer of s=iuares to flip. 

375 N=1:F(1)=S: GOSUB 329 
Adjust board irdicators, adjust 
bar sraphs. 

380 FOR' K=l TO N : E< F( K ) )=Pn : NEXT KGOSLB 
850 
Display f 1 ips. 

382 FOR K=l TO N ^ S=F!: K ) : CCLOR PH: GOSUB 9 
00:FOR 1=1 TO 30:SOl*C 0,I,10,6:|«XT I^E 
(S)=Ft|:NEXT K 

Tirn off clock (sa'.'e values for time), 
display time. 

399 n 1 =PEEKt: 18): n2=PEEKf 19): ri j=PEEK( 20 ) : 
GOSUe 958 

Coaiputers lacfje 

Initial piece and flip indicators. 

400 Se=e:PF=2 Ft1=l 
Chieck each square. 

410 FOR: S=1I TO S'8 
Hove not possible. 

420 IF PCSXPCSG!) OR BCS.JOO THEN 458 
Souid, iiioye cursor. 

421 SOUND 0,£«3,19,4 

422 X=< S-!NTCS/10)*10 ):S7+4 Y=INTC S.-'18 ):*5 
-4: LOCATE X,Y,C 



SoftSide DECEMBER, 1980 



424 COLOR 1 PLOT X+! .Y+ICRhUTO X+4,Y+1 
PLOT :>;+l.Y+2 DFftUTO X+4..Y+2 

(>ieck b^iuare for lesal aiove 
430 SI1=e GO-^LE 880 

Save square uiiO-. t-.isl-.est f-oint '.Jalue 

in SO. 

440 IF sn=SQ (W Rtoexe.s then SGfcsn 

442 IP Sn>SC! THEH SQ=SM 

Reset cu'sor 
445 COLOR C PLOT v+l,Y+l DRftWTO v+4,Y+l^ 
PLOT X+ 1 , Y+2 DRftlJTO ,w+4 , Y+2 

hto move f>ossible 
450 NEXT 3 IF SQ=0 THEH PRIHT "NO MOLE"^ 
FOR 1=1 TO 106 SOlfO 0,150,10.4 hEXT I G 
OTO 300 

Fill F(N) with 5<^iare5 to be flipped 
460 S=S£! F(1)=SQ N=l GOSUE 820 

Adjust board vilues to coiwuter 

Pieces. 
470 FOR K=l TO N B( F< K ) )=Pn NEXT K" 

Display bar sraphs. 
488 GOSUB 850 

Flip Pieces 
496 FOR K=l TO N S=F(K> OXOR Pfl GOSUE 9 

ee^KS.'^ri FOR i=i to 40 sound 0,1,10,8^ 

h£XT I ftXT K 

Branch to Human's lao!.*. 
495 GOTO 308 

Oieck for lesal move. 

see FOR J=l TO 8:K=S+0<J> IF BCK>(:>PF TH 

EN 888 

882 K=K+KJ) IF B(K>=PF T1£N 882 

884 IF B(KX>Ft1 THEN 888 

886 Sn=S RETLRN 

see NEXT J^RETURN 

Fin F(N) Kith the (X»iiber of eacK 
s<>uarc to be flipped, place a 
cirsor in eacl-i s<*(are to be flipped. 

828 FOR J=l TO 8:K=S+0<J) IF B(KX>FF TH 

Bi 838 

822 K=K:+D<J) IF B(K.-t=PF TfEN 822 

824 IF B<KX>Pt1 THEN 838 

825 K=K-[XJ) X=(K-INT(t(/10»10«7+4 Y=IN 
T(K/10).t5-4 

826 CaOR Ptl^PLOT X+1,Y+1 DRftWTO X+4,Y+1 
■PU3T X+l,Y+2 DRflUTO X+4,Y+2 

828 IF K=S T}€N 838 

838 N=»4+l F(N)=K^GOT0 825 

838 hCXT J^RETLRN 

Plots bar srapti, adjusts score 

HS = Huiian score, CS = Computer score. 



850 CS=0 HS=0 DXOR 9 

852 FOR 1=1 TO 5 PLOT LODRftWTO 1,39 h€ 

XT I 

968 FOR S=1I TO 88 

862 IF B(S>=1 T«N 878 

864 IF B(S)=2 TfEN 880 

866 GOTO 890 

879 CS=CS+1 C1=CS:IF Cl.'>40 THEN Cl=40 

872 SOUK) 0,cai!6, 10,6 COLOR 1 PLOT 1,40- 

CPPLOT 2,40-Cl:GOTO 890 

888 HS=HS+1 H1=HS IF Hl>40 THEN Hl=40 

882 S0UH3 0,HS«6, 10,6 COLOR 2:PL0T 4,40- 

Hl FtOT 5,40-Hl 

898 NE,XT S RETURN 

Fills S'luare (S) with cut^rent color. 

908 X=( S-INT( S.-'10 ).tl0 >S7+4 ■■ Y=INT( S.''10 XW 
-4 

982 FOR I=Y TO Y+3 PLOT X,PDRAUTO X+5, 1 
lEXT I RETURN 

Computes and prints time, checks for 
end of sanie. 



950 PRINT " Computer ",CS," Human 



;HS 



952 S=INT( '. M3+rf:&5fc+ri!:!ce553e ).'60 ) n=INT 
(S-60) 

953 S=S-INT<S.'60»60 

954 ? PRINT "Hin ";t1, "Sec ",S;" "; 
960 IF HS+CS<e4 THEN ' RETURN 

\ 9€5 FOf; 1 = 1 TO 999 >€;a I 
970 PRINT " ElCi GAME "PRINT "PRESS FIR 
f to cotitiroe "; 
990 SOUCl a.RHjC 0^100,18, 4 
992 IF STRIG(0>=e TIEN RUN 
994 GOTO 990 



® 



A 



fA 



AUTOMATED 
SIMULATIONS 




At last the sequel to ihe "Temple of Apshai." 
Dunjonquest'i newest, "Hellfire Warrior," adds 
lour more levels to the lowest reaches ofApshai's 
dunyon. Undead and fiery demons roam 
seemingly endless labyrinths, gobbling up alt but 
the hardiest warriors. If you are a beginner, 
perhaps you should explore other regions first, 
for "Hellfire Warrior" is for only the most 
hardened. 

Cassette 524.95 

Disk $29.95 

T5€;HPira>SID€ 

6 South St, Milford, N.H. 03055 

ORDER TOLL FREE: 1-800-258-1790 

(in NH call 673-5144) 

a 






by Chris Freund 







For the thousands who 
have enjoyed X-Wing Fighter, 
X-Wing II presents a totally 
new elennent in the game! 

You are the pilot of an 
X-Wing fighter .... Your 
Mission, Destroy the Death 
Star! 



'^y^im:9 



Where X-Wing I left Death 
Star looming on the screen, 
X-Wing II lets you guide your 
fighter into the trench, find 
the exhaust port, aim and 
fire — all the while avoiding 
enemy fighters. Excellent 
graphics, 12 levels of play, 
and extensive INKEYS 
commands make this one of 
our most exciting "real time" 
games. 

Level II, 16K - $9.95 



Hie 
Sfdtware Exchange 

h S..i/f/, \l/,.rl. \1:tl',nl \tl llHIV, 
OKDI K Kill IKII llii Ml ,.,ll 1,71 lUJi 

1-800-258-1790 



SoftSidc DECEMBER, 1980 



89 




The Chatterbox 

A TRS-80 Interfacing Alternative 



The CHATTERBOX is a unique packaging combination of the presently 
available COMM-80 I/O Interlace for the TRS-80* and an acoustic modem. 
This one box is all that is required to turn even a barebones 4K TRS-80' into a 
full time-sharing terminal. 
The CHATTERBOX includes built-in programmable 50-19200 baud serial port, a Centronics 
compatible parallel printer port, a 300 baud acoustic originate modem, and a spare TRS-BUS 
expansion connector It comes complete with power supply, ribbon cable and connector, user's manual, and 
terminal software for immediate operation. When the modem is in use, the complete data conversion is 
automatically routed to the serial output port where it can be logged on a printer. 
The CHATTERBOX is the only peripheral needed to allow a TRS-80' to communicate with time-sharing systems such as 
MICRONET and the SOURCE. 

It is completely hardware and software compatible with existing TRS-80' products and connects either to the keyboard 
connector or screen printer port on the RS Expansion Interface. Features: Full 8-bit parallel port; RS-232-C serial port (up to 
19,200 baud): Acoustic modem; TRS-BUS connector for future expansion: Connects to Keyboard or E.I.; Includes terminal 
software: Users manual; Power supply, $259.95 



=\ 



PRINTERS 





LIST 


OUR 




PRICE 


PRICE 


Centronics 730 


$795.00 


$749.00 


Centronics 730-3 


$895 00 


795.00 


Centronics 737 


$995.00 


$869.00 


Centronics 779 


$1395.00 


$1095.00 


Centronics 779 w/lower case 


$1595.00 


$1195.00 


NEC 5510 SpinWriter 




$2795.00 


NEC 5520 SpinWriter ■ 




$3195.00 


NEC 5530 SpinWriter 




$2695.00 


NEC Tractor-Feed Option 




$250.00 


LRC 7000'(64-col.) 


$405.00 


$299.00 


Okidata Microline-80 


$800.00 


$639.00 


Tractor- Feed Option 


$140.00 


$129.00 



LRC to TRS-80 

LRC to PET, IEEE 

LRC to RS232C, male or female 

730 or 737 to TRS-80 

NEC or 779 to TRS-80 

RS-232-C to RS-232-C, male to male 



$20.00 
$59.00 
$65.00 
$29.00 
$35.00 
$24.95 



GENERAL INTEREST 



SPECIAL 






LIST 


OUR 




PRICE 


PRICE 


BSR System X-10 Starter kit 


$124.95 


$99.95 


BUSY BOX. TRS-80 


$114.95 


$99.95 


BUSY BOX. S-100 


$119.95 


$114.95 


AC-SFK-31 Line Filter 


$24.95 


$19.95 


ISO-2 Line Filter & Isolator 


$56.95 


$49.95 


IS0-2/CBS Line Filter-Isolator 


$70.95 


$59.95 


IS0-7/CB Super Filter-Isolator 


$146.95 


$99.95 


Mini-Flex Diskette File 


$24.95 


$19.95 


CASIO C-80 Calculator Watch 


$49.95 


$44.95 


BONE FONE 


$69.95 


$56.95 


LOGOS-9 Printing Calculator 


$99.95 


$79.95 


CASIO 






C-80 CALCULATOR 


Jl 




WATCH $44.95 


# 


'7^^^^ 



BONE 
FONE 
$56.95 



(plus $2.50 postage and handling) 



(plus $2 50 postage and handling 



OLIVETTI 

LOGOS-9 

PRINTING 

CALCULATOR 

$79.95 

(plus $2.50 postage and handling) 





TO ORDER TOLL-FREE 
1-800-258-1790 

(In NH call 673-5144) 



■9^\ 


VISA 




90 



SoflSide DECEMBER. 1980 



r 




31 







POCKET COMPUTER $269 

with interface 



MODEL II $3599.00 



Model II. 64K RAM 
Model III, 16K RAM 
Model ,111, 32K Dual Disk 
Pocket Computer w/lntertace 
TRS-80 Color Computer 
TRS-80 Color Computer Expanded 
COMM-80 imerlace 
CHATTER BOX Interface 
DISK-80 Interlace 
Expansion Interface, no RAM 
Expansion Interface, 16K RAM 
Expansion Interface, 32K RAM 
RS-232-C Board 



LIST 
PRICE 

$3899.00 

$999.00 
$249500 
$298.95 
$399.00 
$599.00 
$179.95 
$279.95 
$349,95 
$299.00 
$418.00 
$537,00 
$99.00 



OUR 
PRICE 

$3599.00 

$929.00 
$2299.00 
$269.00 
$359,00 
$519.00 
$159.95 
$259.95 
$339.95 
$279.00 
$339.00 
$399.00 
$89.00 



TRS-232 Printer Interface 
16K Memory Kit, TRS-Keypad 
16K Memory Kit, TRS-Exp, Int, 
Upper/lower Mod Kit 
Video Reverse Kit 
CPU Speed-up Kit 
Percom Electric Crayon, w/cable 
TRS-80 Dust Cover (3pc set) 
TRS-80 Computer Case 
TRS-80 Monitor Case 



LIST 
PRICE 

$119.00 

$119,00 

$59.00 



$9.95 

$109,00 

$84,00 



OUR 
PRICE 

$59,95 
$59,00 
$59,00 

$25.00 
$23,95 
$24,95 

$279,95 

$7.95 

$99.95 

$84.00 





COLOR COMPUTER $359 



MODEL III $929 







LIST 


OUR 






PRICE 


PRICE 




Percom. TFD-100, 40-track 


$429,95 


$399,00 


! Percom, Dual TFD-100 Drives 


$849,00 


$799,00 


// Percom, TFD-40, 40-track 


$399,95 


$379,00 


Percom, TFD-200, 77-track 


$675.00 


$629.00 


Hardslde 40 -Track Disk Drive 


$399.00 


$329.00 


Hardside 80-Track Disk Drive 


$499.00 


$449.00 


Percom Data Separator 




$29.95 


Extender Card 


$15.95 


$15.00 


2-Drive Cable 


$29 95 


$29.00 


4-Drive Cable 


$39.95 


$39.00 


1 


ERMS: 







TERMS: Prices and specifications are subject to change. HARDSIDE accepts VISA & MASTERCARD, 
Certified checks and Money Orders; Personal checks accepted (takes 3 weeks to clear). HARDSIDE pays all 
shipping charges (within the 48 states) on all PREPAID orders OVER $100.00 On all orders under $100 a 
$2,50 handling charge nnust be added, COD orders accepted (orders over $250 require 25% deposit) there is 
a $5,00 handling charge, UPS Blue Label, and Air Freight available at extra cost. 



TO ORDER TOLL-FREE: 

1-800-258-1790 




in NH call 673-5144) 







SoflSide DECEMBER, 1980 



9/ 



The Doubler ™ f«BotM 



This proprietary adapter for the TRS-80* Model I computer packs approximately twice the 
data on a disk track. 

Depending on the type of drive, you can store up to four times as much data - 350 Kbytes - 
on one side of a minidiskette as you can store using a Tandy standard Model I computer drive. 

Easy to install, the DOUBLER reads, writes and formats either single- or double-density 
disks; you can continue to run all of your single-density software, then switch to double- 
density operation at any convenient time. 

Included with the PC card adapter is a TRSDOS*-compatible double -density diskoperating 
system, called DBLDOS'", plus a CONVERT utility that converts files and programs from 
single- to double-density or double- to single-density format. 

Each DOUBLER also includes an on-card high performance data separator circuit which 
ensures reliable disk read operation. 

The DOUBLER works with standard 35-, 40-, 77 and 80- track drives rated for double- 
density operation. 
$219.95 postpaid. ( $199.95 * with $20 coupon. ) 



TO ORDER TOLL-FREE 




IHPRDSlI^ 



1-800-258-1790 



6 SOUTH ST., MILFORD, NH 03055 



" irddemark o( Percom Data Company. Inc 
* trademark of Tandy Radio Shack Corporation which has no reldlionship In Percom Data Comp-iny 




IHf=IRDSI 

We buy and sell 
used computers 
and peripherals 
for the TRS-80; 

apple; atari: 



(60D 673-5144 



92 



■TRS-80, Apple, Atari, and Pet are trademarks of Tandy, Apple Computer, Warner Communications and Commodore, respectively 



SoftSide DECEMBER, 1980 




If you 

just bought 

another 

printer, 

boy are 

you gonna 

be sorry. 




MX-80 



The Epson MX-80. It's not just another worked- 
over rehash of last year's model. It's our top-of- 
the-line 80-column printer. It's new. From the 
ground up. And it's the most revolutionary printer 
to hit the market since Epson invented small 
printers for the 1964 Olympics in Tokyo. Don't 
take our word for it, though. Compare. There 
simply isn't a better value in an 80-column printer. 
Period. 

But here's the fact that's going to stand the 
printer world on its ear. The MX-80 sports the 
world's first disposable print head. After it's 
printed about 50 million characters, you can 
throw it away. Because a new one costs less than 
$30, and the only tool you need to change it is at- 
tached to the end of your arm. 

Now that's revolutionary, 
but that's only the beginning. 
The MX-80 also prints bidirec- 
tionally at 80 CPS with a logi- 
cal seeking function to mini- 
mize print head travel time 

The world's first disposable print 
head. It has a life expectancy of over 
SO millioti characters, yet it's so sim- 
ple, you can change it with one hand. 
And il cost less than - repeal less than 
-$30. 




and maximize throughput. It prints 96 ASCII, 64 
graphic and eight international characters in a 
tack-sharp 9x9 matrix. And it provides a user- 
defined choice of 40, 80, 66 or 132 columns and 
multiple type fonts. 

We spent three long years developing the 
MX-80 as the first of a revolutionary series of 
Epson MX Printers. We employed the most ad- 
vanced automatic assembly and machining tech- 
niques in existence to produce a printer that is in- 
credibly versatile, remarkably reliable and extra- 
ordinarily inexpensive. It's a printer that could 
only come from the world's largest manufacturer 
of print mechanisms: Epson. 

If it sounds like we're proud of the MX-80, we 

are. Not only does it do things 

V^^^^-^ ^"'"^ °*^ '^^ world's most ex- 

/ ' 1 "^ pensive printers can't do, it'll 

' ^ ' ^ do them for you for $599. 

That's right $599. 




6 South St , Milford, NH 03055 
TOLL FREE l-aOO-2SB-l7S0 
(In NH call 673-5144) 



SoflSide DECEMBER, 1980 



93 



A 


X 




D 




L 


1 


O 


T 






D 


1 


D 


G 


1 




A 


B S 




vfo 





o 





c 


A 


S 


T L 


E 


B □ n 


A 


T 


sta|L 


N 





M A DHu 


S 


E 


W 


A 


T 


u 


OD 


w 


N 




3' 


B 


U 
R 


s 


A 


T 





M 


■ n 





'■ 


R 


A 


T 




A 


R M 


R 


'■ 


c 


A 


R 


E 


^^HuHa 


S 


1 


L 


V 


E 


R 


B 


U 


□ 


L E 


T 




FiR 


E 




U 
Y 


S 

E 


E R 


E 






L 


lA 


W 


Ha 


D 



Solution to last months puzzle. 

S-80 PROGRAMMING HINT 

Dear Sirs, 

I enjoy your magazine greatly, 
and have learned from and 
enjoyed the programs you publish. 
It would be nice if you published 
more machine and assembly 
language programs, as that is 
where my particular area of 
interest lies. With the new large 
format (a rather dramatic change), 
you can surely afford the space. 

In any case, I am writing to 
offer a couple of Programming 
Hints for the S-80. I sent these in 
before, but the letter was hand- 
written, and I just recently realized 
that you would probably only 
accept them typed. If you still have 
that letter, you can use this one 
instead. 

1) More about the much- 
discussed Break key: When in 
Command or Input mode, pressing 
the Break key causes a RST 28H 
to be executed. This also happens 
when a program is running. The 
RST causes a jump to (surprise!) 
location 16396 in memory. The 
value in the Accumulator upon 
return is that which BASIC will 
assume you typed. In addition, at 
the time of the call, the L register 
will contain 54H if only the Break 
key was pressed, and a 55H if it 
was a shift Break. This (and an 
A-80 opcode table) explains why 
the previous POKE values do what 
they do. (I refer to the ones in the 
May, 1980 issue). It also suggests 
several other possibilities. 

Poke into: 

163% 16397 16398Results 
62 X The Break key will 
return the ASCII 
character 

corresponding to x 
(see the chart in 
the Level II 
manual, page 
C/2). An X over 

94 



128 will do some 
strange things, 
though, as BASIC 
will treat it as a 
keyword code 
(page E/1). 
16396 16397 16398Results 
165 198 X Break will be the 
ASCII of X, as 
above, and shift 
Break will be the 
ASCII of x-i-1. 
Note that with 
both of these 
methods one can 
get the down, left, 
and right arrows 
to print out, as 
shown on the 
table. This is one 
of the easiest ways 
I have seen to do 
that. 
195 LSB MSB This will cause a 
jump to the 
memory location 
specified, an easy 
way to start a 
machine language 
routine. 
I should mention that these 
POKE values were intended for 
Level II BASIC, and they may do 
completely different things under 
TRSDOS. 1 would be quite happy 
if some fortunate soul with a disk 
system told me just what did 
happen. 

2) A simple way to get your 
machine-language program to 
execute as soon as it is finished 
loading: Have it ORG at 41E2H, 
and put a 233 there. This can also 
be poked before you begin loading 
the program. 

Ian Taylor 
Cambridge, Mass. 

S-80 PROGRAMMING HINT 

(Level 11) 
Here is a safety measure you can 
take to avoid losing a program that 
has been accidentally NEWed. 

Type in the first program line, 
then: (in the command mode) 
PRINT PEEK (17129), PEEK 
(17130) 
This will give you two important 
numbers, which you should jot 
down. Then to recover the 
program (again in the command 
mode): 
POKE 17129, xxx: POKE 17130, 

yyy 

Where xxx and yyy are the two 
numbers you had written down. 

Kevin Burke 
Ontario, Canada 

SoftSidc DECEMBER. 1980 



S-80 PROGRAMMING HINT 

MODIFICATIONS TO TINY 
COMP3.I3 

Saving a program compiled by 
the tape version of Tiny Comp 
involves recording all of the 
memory between 26000 and 32767 
on tape. This is necessary because 
there are several machine language 
subroutines located at 32652 to 
32767 which are used by the 
compiler. Tapes must be much 
longer than the actual program, 
wasting time in recording and 
loading back into the computer as 
well as wasting tape space. 

If sortje of the subroutines are 
relocated to a spot just below the 
executable program (26000), then 
the tapes need to be no longer than 
the compiled program plus a few 
bytes for the subroutines. 

Here are the changes I made to 
Tiny Comp to accomplish this. 



Line 
1800 
1820 
1830 
1850 
1860 



25: 



2610 
2750 



Old liaiBl 
32673 to 32698 
—178,127 
32755 to 3276^1 
32652 to 32669 
—148,127 
D1=127;E1=243 
D1=127:E1=161 
El=Hfl:Dl=127 



Chariqe to J 
25957 to 25982 
— 118,101 
25985 to 25994 
25936 to 25953 
— 88,101 
D1=101;E1=129 

di=ioi:ei=ioi 
ei=8o:di=ioi 



Memory size has to be set to 
25934 instead of 26000. Tapes are 
punched, starting at 6550H and 
ending at the location of the last 
byte compiled (at line 799). Entry 
is still at 26000 (6590 H) to run 
machine-coded program. 

Frank Di Nunzio 
Bristol, Pennsylvania 



Atari One-Liners 

fUndot, DRfUTO- 

1 OWHICS 5+48 COLOR RKK )-t;5 PLOT RWK 
9)X79,RND(e»47 DRflMTO RMK0«79,RMXe» 
47 GOTO 1 



PLOT with (slow) color dnsnae 
1 GRAPHICS 5+16^P0KE 77,255 F(K L=I TO 2 
eee^COLOR RMXOBS plot RfC<0).-i:79,RND(0> 
«7 NEXT L RUH 



PLOT with (fist> color chmses^ 
1 GRAPHICS 5+16 FOR L=l TO 2066 SETCaOR 
RMX0W4,RMX0>*15,S COLOR RN[X0)S5:PLO 
T RKX0)t79,RM>:0,M;47:N&T L^RIJH 



Listitnins (uiU-. sotnd): 

1 GRAPHICS 5+16 COLOR 1+RMK0>3;4 PLOT RN 

a0M79,RNDC8;*47 DRAIJTO 48,24 SOUND 0,R 

«x >*255, 10, 4+Rnx erne goto i 

by David H. Simmons 
Redondo Beach, California 



REVIEWS 




Olympic Decathlon Review 

by Dave Albert 

All right all of you closet Bruce 
Jenners, here's your chance to 
make his record for ten events 
seem measly at best. It's "Olympic 
Decathlon", a program by Timothy 
W. Smith. The program simulates 
the ten events of the decathlon in a 
manner that requires split-second 
timing and good hand-to-eye 
coordination by the players to 
achieve scores comparable to the 
points awarded in the true athletic 
competition. On top of the 
authentic scoring system, "Olympic 
Decathlon" easily has the best 
graphics this author has seen on 
the TRS-80. 

The ten events of the decathlon 
are: 100 meter dash, long jump, 
shot put, high jump, 400 meter 
dash, discus throw, pole vault, 
javelin, 1 10 meter hurdles, and 
1500 meter run. In each of the 
events, save the three running 
races, you actually watch yourself 
(that is, you watch a humanoid 
figure on the screen) compete, and 
your digital dexterity determines 
your graphic counterpart's 
success. . .or humiliation. The pole 
vault requires four separate 
operations: the running approach, 
the planting of the pole, the pullup 
into a handstand, and the final 
push-off needed to clear the bar 
without knocking it off. It has to 
be seen (and played) to be 
beUeved. 

Unlike many computer games, 
"Olympic Decathlon" does not 
rapidly become boring. Each event 
demands of the player a constant 
refinement of technique, rather 
than the mere quickening of 
reflexes needed for improvement in 
Invasion-type games. Yet, at the 
same time, "Olympic Decathlon" 
is pretty much a straightforward 
affair, without the cute little 
puzzles, sometimes logical and 
sometimes not, that are so 
prevalent in Adventure-type games. 

Even if you are an athlete only 
in the armchair sense of the work, 
"Olympic Decathlon" may bring 
out the true competitor in you. The 
graphics are both remarkable and 
delightful, and the events have 
been thrilling people for well over 



2,000 years. Here at SoftSide 
we've surpassed Jenner's mark by 
over 1,(X)0 points. Do you think 
you can do better? 

Galaxy Invasion Review 

by Dave Albert & Glen Ohlund 

There's an aUen flagship coming 
to get you! If you don't get it first, 
you haven't got a prayer. Once it 
sHps by. . . .ZAP! Not only will it 
get you, but any companion-type 
flagships will join in on the fun. 
IVIultiple lightning bolts are not 
good for pilots and other living 
things. 

Of course your eagle eye and 
split-second reflexes won't 
allow this scenario to take 
place. . . .right? Well, there's only 
one way to find out. Hop into 
your ship via your disk drive or 
cassette recorder and face the 
ahens. 

The name of the game is 
"Galaxy Invasion" by Bill Hogue 
and Jeff Konyu. Marketed by Big 
5 Software, the program is based 
on the popular arcade game 
"Galaxian." 

The object of the game, in case 
you haven't figured it out, is to 
shoot down alien ships before they 
either bomb you out of existence 
or pull a kamikaze number on 
you. Sound easy? It isn't. To begin 
with, there are several different 



types of alien ships, which will 
attack you singly sometimes, and 
information at other times. 
Furthermore, the tricky little devils 
dodge quite astutely and have a 
nasty habit of boxing you into a 
corner and then overwhelming you 
with sheer weight of numbers. On 
top of that, the infamous flagships 
can disintegrate you in the blink of 
an eye from anywhere on the 
screen. You haven't died until you 
get zapped from four directions at 
once. The lateral bolt would have 
made Jim Thorpe proud. 

Unlike a cat, you, the pilot, 
have only three lives. However, if 
you're good (and we know you 
are), you can get additional ships 
to pilot by racking up 10,000 
points. Each multiple of 10,000 
adds another ship to your original 
roster of three. 

Oh yes, another feature: sound. 
Your cannons have one sound, 
each of the aliens has its own. 
When they begin to swarm it 
becomes an audio storm. 

We here at SoftSide have 
extnesively tested this program 
(during our lunch hours, of course) 
and have found it to provide a 
good deal of amusement and 
entertainment. Captain James, in 
particular, showed aptitude by 
compiling a veritable heap of alien 
ruins. . . .to the tune of 200,000 + 
points. 



S-80 One-Liner 

Machine-Graphics Routine One-Liner 
by Patrick Boyle 

fWCHINE-GRAPHICS ROUTINE 
ONE LINER 
BY PATRIO; EOYLE 
CL£AR22:A*=STRING$(22,32)!J=VARfTR(A$);i=PEEK(J+l)+256«ree;(J+ 
2)!F0RK=IT0I+2i:RE/«)Z:P0KEK,Z;f£XT:P0KE16526,P£EK(J+l)!roKE16527 
,PEEK(J+2)!FORX=1T02:POKEI+10,RM)((43)+128:L=USR(0)!X=1:NEXT:DATA 
33,0,60,17,1,60,1,255,3,51,0,237,176,6,5,33,0,0,13,121.181,201 

S-80 One-Liner 

Christmas One-Liner From SoftSide 
by Dave Garrity 

CUflSTMAS ONE-QNER 
FROM SOFTSIDE 
BY DA'* GARRITY 
INFtJT"ENTER YOUR NArt£";A»:A$=A*+" ";L=LEN(A$):f-30:CLS;PRINTeP 

+i,"«"iFGFj=iT0L:F'RiNTep-i+6iii,"i ";:fi<inthid»(a$,i,I);:fi^int« 

m(A$,l,I)+" i":NEXT:PRINTT^(P)"MERRY"!FfaNTTAB(P),*"»MSI":FOR 
T^lTO5000:fCXT:PRINTTA£;(P-ll);"FRO« SOFTSIDE F'lBUCAnONS":RUN 



SoftSide DECEMBER, 1980 



95 



The Software Exchange Order Form 



DESCRIPTION 



MEMORY TYPE 



PRICE 



SPECIFY: TRS-80, APPLE, 
ATARI or PET. Do not use for 
hardware. 



Check 



ADD handling charges 

{Foreign orders minimum $5.00 handling) 

Money Order Additional charges 

TOTAL 



$1.00 



CHARGE ACCOUNT NUMBER 




Signature.. 



.Exp. Date. 



.Inter. No.. 



Name- 



Address. 



City- 



.State. 



.Zip. 



MAIL TO: The Software Exchange 
6 South St. 
Mllford, NH 03055 



Special prices In effect 60 days from mailing 



or, CALL TOLL FREE 
for Orders Only 
1-800-258-1790 
(In NH call 673-5144) 



Level II software available on disk for a S5.00 (per order) medium charge. This extra fee Is for any number of programs transferred to disk from tape 
when you order. If the order exceeds the capacity of a single disk, we absorb the extra cost. 

Be sure to Include handling charge and any additional charges when figuring your total. All in house orders shipped within 4 working days 

All price* ere tubiect to change without notice. We ere not rcipontlbl* for typographical error*. Including Incorrect price*. 

ALL SOFTWARE GUARANTEED TO LOAD AND RUN. If you experience difficulties, simply return the tape or disk properly protected for free 
replacement. Send to the attention of Bette Keenan, Customer Service Representative: please enclose a brief note and your name and mailing 
address with the software. 

ALL SOFTWARE SOLD ON AN AS-IS BASIS WITHOUT WARRANTY. TSE assume* no liability for loss or damage caused or alleged to be caused 
directly or Indirectly by equipment or product* *old or exchanged by them or their distributors. Including but not limited to any Interruption In 
service, los* of bu*lne** or anticipatory profit* or con*equentlal damages resulting from use or operation of such equipment or software. 



96 



SoftSide DECEMBER. 1980 



o 



o 



o 



Don't lose your message 
because of the medium.. 





CASSETTES 



The cassette tapes used for recording data are 

composed of two parts: the cassette shell and the tape 

loaded into the shell. The shell can beeitheraS-screwor 

sonic weldedtypewithanon-magnetic leader or a magnetic leader (socalled leaderless 

cassettes). The shell used in our cassettes is of premium quality. 5-screw, with non-magnetic leader. The 

choice of non-magnetic leader may confuse some people, but there is a valid reason. There is a splice 

required to connect the magnetic tape to the leader at both endsof the tape. A person recording program 

material or data, using a leaderless tape, stands to drop a bit of data at the splice point. Not all leaderless 

tapes have the splice and you have to be very careful when buying thistypeof data tape. We use standard 

leader to avoid the confusion, and unhappy customers when the first recording on the tape is always bad. 

The tape used in our cassettes is of studio quality, The same type 
of tape is used by some studios for making master recordings. The 
magnetic tape used in the cassette is the true heart of the cassette. 
You can have the best shell made, but with low quality tape it is 
still junk. 

The cassettes offered here have been chosen for the high- 
est quality components consistent with a practical cost level. 

Cassettes come packaged m boxes of 10. They are 
offered in 10 and 20 minute lengths. 

C-10 $6.95 + SI 

C-20 S7.95 + SI 




DISKETTES 



We offer two levels of diskettes; certified and non-certified. The certified diskettes have been put 
through a test to check the entire working surface for bad spots. These diskettes are certified error-free 
by the manufacturer. If you require assurance of every diskette being perfect, then the Dysan certified 
diskette is for you. 

The BASF company invented magnetic tape from which the very large and varied industry of today has 
grown. We offer the BASF premium quality (non-certified) Diskette. These diskettes enjoy one of the 
lowest reject rates of any manufacturer (all our disk-based software is duplicated on BASF). 

We are also offering diskettes from 3-M SCOTCH. These come encased in a touch (PVC) jacket which 
resists handling damages. They are certified 100% error-free. Their low modulation provides better 
signal stability. 

BASF: 

Box of 10 $34.95 + $2 

Box of 100 $299.00 + $3 

3-M SCOTCH: 

Box of 1 $39.95 + $2 

DYSAN: 

Box of 5 $29.95 + $1 

The Saliware Exchange 

6 South SI , Millofd, NH 03055 

TO ORDER TOLL-FREE: (in NH call 673-5144) 

1-800-258-1790 



SoflSide DECEMBER. 1980 




There are Daisies!. . . And, There are Daisies!. . . But Vista has a Peach! 



The Vista V300 is exactly that, a "peach" of a daisy wheel printer both from the standpoint of price 
and performance. 

Think of it, a printer at nearly half the price (when compared to models even remotely competitive in 
quality) combined with the ultimate in reliability, print quality, and flexibility. 

Typical Comments: "Superb print quality!", "Highly reliable.", "Definitely letter quality. . . 1 can't 
believe the price tag.", "Best use I've seen yet of LSI Technology." 

But judge for yourself — look at the VSOO features and keep in mind this is a letter quality printer at 
dot matrix prices. 

• Tractor option available 

• Print Speed — 25 CPS (Optional 45 CPS for $2,195) 

• Print Wheel — Industry standard 96-character Daisy Wheel 
(including the extended-life dual plastic wheels) 

• Service — Prompt maintenance/service agreements avail- 
able nationwide 

• Interface — Industry standard parallel (RS232-C optional) 

• Printable Columns — 136 

• Warranty — 90 days parts and labor, one year parts only 

• Proportional, bi-directional printing • Programmable VFU 

• Extensive self-test functions • Hardware and software 
compatible 




AND, Vista Has a Complete V100 Word Pro- 


cessing System for Only $4995! 


The Vista VI 00 is a complete word process- 


ing system that inc 


udes: 


• Exidy Sorcerer 


• Vista V300 Printer 


Computer. 48K 


Full Character Daisy 


• V200E20 Disc Drive 


Wheel 


System, Double 


• Wordstar. CPM 14 


Density 


(Includes E Basic) 


• Sanyo Data Display 


• Can also be used for 


fVlonitor 


Data Processing 



6 South St., Milford, N.H. 03055 
TO ORDER TOLL FREE 1 ■800-258-1 790 (in nh call 673-5144)